El enunciado esta en el siguiente link enunciado
import java.util.Scanner;
/**
* 10035 - Primary Arithmetic [http://uva.onlinejudge.org]
*
* @author BreakDark
* @version 1.1 beta
*/
// ACEPTADO!!! xD
public class Main {
public static void main(String[] args) {
Scanner Lee; // para leer los datos de entrada
String num1, num2; // para los numeros a asumar
byte numAcarreo; // para contar los acarreos
byte aux; // para las sumas temporales
int i, j; // para los bucles
// AQUI INICIA EL PROGRAMA
Lee = new Scanner(System.in);
num1 = Lee.next();
num2 = Lee.next();
while (!num1.equals("0") || !num2.equals("0")) {
i = num1.length() - 1;
j = num2.length() - 1;
aux = 0;
numAcarreo = 0;
while (i >= 0 && j >= 0) {
if ((num1.charAt(i) - '0') + (num2.charAt(j) - '0') + aux > 9) {
aux = 1;
numAcarreo++;
} else
aux = 0;
i--;
j--;
}
// si el primer numero termino de evaluarse
if (i >= 0) {
while (i >= 0) {
if ((num1.charAt(i) - '0') + aux > 9) {
aux = 1;
numAcarreo++;
} else
aux = 0;
i--;
}
} else if (j >= 0) {
while (j >= 0) {
if ((num2.charAt(j) - '0') + aux > 9) {
aux = 1;
numAcarreo++;
} else
aux = 0;
j--;
}
}
// mostramos el resultado
if (numAcarreo > 1)
System.out.println(numAcarreo + " carry operations.");
else if (numAcarreo == 1)
System.out.println("1 carry operation.");
else
System.out.println("No carry operation.");
num1 = Lee.next();
num2 = Lee.next();
}
}
}
|
No comments:
Post a Comment