Informatică, întrebare adresată de userverifier, 8 ani în urmă

help info. SĂ SE AFISEZE CMMDC ȘI CMMMC DINTRE SUMA CIFRELOR LUI N ȘI INVERSUL ACESTUIA (LUI N). ​

Răspunsuri la întrebare

Răspuns de chetreanandrei
0

Răspuns:

import java.util.Scanner;

public class Divisor {

   private static final Scanner scanner = new Scanner(System.in);

   public static void main(String[] args) {

       System.out.print("Introduceti un numar n= ");

       int num = scanner.nextInt();

       int reversedNum = getReversedNumber(num);

       int sumOfDigitsForNum = getSumOfDigits(num);

       System.out.println("Cel mai mare divizor comun pentru " + sumOfDigitsForNum + " si " + reversedNum +

               " este: " + getMaximalCommonDivisor(sumOfDigitsForNum, reversedNum));

       System.out.println("Cel mai mic multiplu comun pentru " + sumOfDigitsForNum + " si " + reversedNum +

               " este: " + getMinimalCommonMultiple(sumOfDigitsForNum, reversedNum));

   }

   private static int getReversedNumber(int n) {

       int reverse = 0;

       while (n != 0) {

           reverse = reverse * 10 + n % 10;

           n /= 10;

       }

       return reverse;

   }

   private static int getSumOfDigits(int n) {

       int sum = 0;

       while (n != 0) {

           sum += n % 10;

           n /= 10;

       }

       return sum;

   }

   private static int getMaximalCommonDivisor(int firstNumber, int secondNumber) {

       int max = Math.max(firstNumber, secondNumber);

       for (int i = max - 1;i >= 2; i--) {

           if (firstNumber % i == 0 && secondNumber % i == 0) {

               return i;

           }

       }

       return 1;

   }

   private static long getMinimalCommonMultiple(int firstNumber, int secondNumber) {

       int i = Math.max(firstNumber, secondNumber) + 1;

       do {

           if (i % firstNumber == 0 && i % secondNumber == 0) {

               return i;

           }

           i++;

       } while(i < firstNumber * secondNumber);

       return (long)firstNumber * secondNumber;

   }

}

Explicație:

Alte întrebări interesante