Shruthi Ravishankar:
Énoncé du problème: somme à trois chiffres - Trouver tous les numéros entre 1 et 999, où la somme du 1er chiffre et le 2ème chiffre est égal au 3ème chiffre.
Exemples:
123: 1 + 2 = 3
246: 2 + 4 = 6
Java:
public class AssignmentFive {
public static void main(String[] args) {
int i=1;
int valuetwo;
int n=1;
int sum = 0;
int valuethree;
int valueone = 0;
String Numbers = "";
for (i = 1; i <= 999; i++) {
n = i;
while (n > 1) {
valueone = n % 10;/*To get the ones place digit*/
n = n / 10;
valuetwo = n % 10;/*To get the tens place digit*/
n = n / 10;
valuethree = n;/*To get the hundreds place digit*/
sum = valuethree + valuetwo;/*adding the hundreds place and
tens place*/
}
/*Checking if the ones place digit is equal to the sum and then print
the values in a string format*/
if (sum == valueone) {
Numbers = Numbers + n + " ";
System.out.println(Numbers);
}
}
}
}
Je suis mon résultat:
1
10
100
1000
10000
100000
1000000
10000000
100000000
1000000000
10000000001
100000000011
1000000000111
10000000001111
100000000011111
1000000000111111
10000000001111111
100000000011111111
1000000000111111111
Process finished with exit code 0
Le résultat ne montre pas le résultat réel comme il devrait être ce qui devrait montrer des valeurs telles que: (. S'il vous plaît se référer à l'énoncé du problème ci-dessus) 123, 246
S'il vous plaît laissez-moi savoir ce qui semble être le problème avec le code et la façon de le tordre.
Andreas:
Je ne sais pas ce que vous essayez de faire avec cette while
boucle, ou pourquoi vous construisez une chaîne séparés par un espace de nombres.
Votre code devrait être quelque chose comme:
for (int n = 1; n <= 999; n++) {
int digit1 = // for you to write code here
int digit2 = // for you to write code here
int digit3 = // for you to write code here
if (digit1 + digit2 == digit3) {
// print n here
}
}