hi, ich hab versucht folgende aufgabe (s. Bild) zu lösen und hab dazu folgenden code abgetippt:
mein problem ist folgendes: in der aufgabe steht, dass die summe der vielfachen von 3 oder 5 insgesamt 23 ergibt. wenn ich jetzt in meinem code statt der oberen grenze 1000 zu testzwecken die zahl 10 einsetze, dann bekomme ich auch die summe 23 raus.
wenn ich aber die obere grenze 1000 wähle um die aufgabe zu lösen, bekomme ich als ergebnis 266333.
nun ja, die aufgabe habe ich von der seite Project Euler. da gibt es aufgaben die man halt lösen kann. bestimmt kennt ihr das auch. ich geb dann meine lösung ein und da sagt mir das system, dass sie falsch ist. aber wie kann das ergebnis für 10 stimmen und für die grenze 1000 nicht? ich muss ja eigtl. nur die grenzen ändern oder?
oder überseh ich da etwas?
Java:
public class problem1
{
public int Vielfache()
{
int ergebnis=0;
int tmp1 = 0;
int tmp2 = 0;
for (int i =0 ; i<1000; i++)
{
int a = i * 3;
if( a < 1000 )
tmp1 += a;
int b = i * 5;
if(b < 1000)
tmp2 += b;
ergebnis = tmp1 + tmp2;
}
return ergebnis;
}
public static void main (String [] args)
{
problem1 a = new problem1();
System.out.println(a.Vielfache());
}
}
mein problem ist folgendes: in der aufgabe steht, dass die summe der vielfachen von 3 oder 5 insgesamt 23 ergibt. wenn ich jetzt in meinem code statt der oberen grenze 1000 zu testzwecken die zahl 10 einsetze, dann bekomme ich auch die summe 23 raus.
wenn ich aber die obere grenze 1000 wähle um die aufgabe zu lösen, bekomme ich als ergebnis 266333.
nun ja, die aufgabe habe ich von der seite Project Euler. da gibt es aufgaben die man halt lösen kann. bestimmt kennt ihr das auch. ich geb dann meine lösung ein und da sagt mir das system, dass sie falsch ist. aber wie kann das ergebnis für 10 stimmen und für die grenze 1000 nicht? ich muss ja eigtl. nur die grenzen ändern oder?
oder überseh ich da etwas?