public class RezolvareFAIMA {
public static void main(String args[]) {
Scanner input = new Scanner(System.in);
String nl = "";
while (!nl.equals("stop")) {
nl = input.nextLine().toLowerCase();
try {
String[] sNumere = nl.split(",");
if (sNumere.length > 1) {
int[] iNumere = new int[sNumere.length];
for (int i = 0; i < sNumere.length; i++) {
iNumere[i] = Integer.parseInt(sNumere[i]);
}
int cmmdc = iNumere[0], cmmmc = iNumere[0];
for (int i = 1; i < iNumere.length; i++) {
// Folosim algoritmul lui Euclid. Mai multe informatii despre CMMDC: http://en.wikipedia.org/wiki/Greatest_common_divisor
cmmdc = calculeazaCMMDC(cmmdc, iNumere[i]);
// Folosim reducerea la CMMDC. Mai multe informatii: http://en.wikipedia.org/wiki/Least_common_multiple
cmmmc = cmmmc * iNumere[i] / calculeazaCMMDC(cmmmc, iNumere[i]);
}
System.out.println("CMMMC: " + cmmmc + "; CMMDC: " + cmmdc);
} else {
System.out.println("Sunt necesare cel putin doua numere.");
}
} catch (Exception e) {
if (!nl.equals("stop")) {
System.out.println("Numere incorecte");
}
}
}
System.out.println("Program terminat. O zi buna!");
}
private static int calculeazaCMMDC(int a, int b) {
if (b == 0) {
return a;
} else {
return calculeazaCMMDC(b, a % b);
}
}
}
0 comentarii:
Trimiteți un comentariu