Ich versuche, eine Summe von aufeinander folgenden ungeraden Quadraten hinzuzufügen, um die gleiche Zahl zu addieren. Zum Beispiel: die ersten 4 aufeinander folgenden ungeraden Quadratzahlen zusammen ergeben 84, (1 * 1) + (3 * 3) + (5 * 5) + (7 * 7) = 84. Der Attached ist mein Code. Ergebnis 2, der Nicht-Schleifencode, ist korrekt. Ich brauche Hilfe bei der Auflösung dessen, was ich falsch mache, mit dem Loopcode von result1.Versuchen Sie eine Summe der ersten aufeinanderfolgenden ungeraden Quadrate hinzuzufügen?
Eingangsnummer entspricht der Anzahl der angeforderten ungeraden Quadrate.
public static int sumWithLoop (int inputNumber)
{
int result1 = 0;
int counter = 1;
while (counter <= inputNumber)
{
result1 = result1*result1 + counter;
counter = counter + 2;
}
return result1;
}
public static int sumWithoutLoop (int inputNumber)
{
int result2 = (inputNumber*(2 * inputNumber - 1) * (2 * inputNumber + 1)/3);
return result2;
}
Ich habe den Code ausprobiert. Eingabe 4 ---> Ergebnis 1 = 10 und Ergebnis 2 = 84. – TSD302
@ TSD302 Was ist 'inputNumber'? Verwenden Sie Werte aus Ihrem Beispiel, ist es "4" (Anzahl der ungeraden Quadrate zu addieren), "7" (max. Ungerade Zahl zu Quadrat) oder "84" (Zahl zu erreichen)? Ihr Code mit dem Fix aus dieser Antwort geht davon aus, dass 'inputNumber'' 7' (oder '8') ist, weil Sie mit der ungeraden' counter' Variablen vergleichen. – Andreas
InputNumber ist die angeforderte Anzahl von Oddsquares. In diesem Beispiel versuche ich, eine Anzahl von ungeraden Quadraten hinzuzufügen, was 4 ist. Die Anzahl, die ich erreichen möchte, ist 84. In einem anderen Beispiel. Ich würde 7 ungerade quadratische Zahlen eingeben, und das Ergebnis wäre 455. – TSD302