Wie man die Summe mit for-Schleife
Muss ich lösen, für die Summe von (10^2 + 10^3) * 99
, die Summe wird total = (1100+1100+1100...(99 times))
. Ich weiß, die meisten Menschen wissen nicht, wie Schleifen, aber ich brauche zu lösen für Sie dieses mit einer for-Schleife. Hier ist was ich habe, so weit...
prob1 <- function(n){
total <- 1100
for(i in 2:99)
total[i] <- sum(i^2 + i^3)
return(total)
}
Dies ist, was ich bekommen
[1] 1100 12 36 80 150 252 392 576 810 1100 1452 1872 2366 2940 3600
[16] 4352 5202 6156 7220 8400 9702 11132 12696 14400 16250 18252 20412 22736 25230 27900
[31] 30752 33792 37026 40460 44100 47952 52022 56316 60840 65600 70602 75852 81356 87120 93150
[46] 99452 106032 112896 120050 127500 135252 143312 151686 160380 169400 178752 188442 198476 208860 219600
[61] 230702 242172 254016 266240 278850 291852 305252 319056 333270 347900 362952 378432 394346 410700 427500
[76] 444752 462462 480636 499280 518400 538002 558092 578676 599760 621350 643452 666072 689216 712890 737100
[91] 761852 787152 813006 839420 866400 893952 922082 950796 980100
Wie bekomme ich es korrekt hinzuzufügen und zurück nur die Summe als integer statt eines Arrays?
Die Summe sollte 108900
(glaube ich)
- ein. Sie bekommen, was Sie wollen. Was ist das gewünschte Ergebnis? Sie sind nicht mit den vorherigen Bedingungen zu erhalten, eine kumulative Summe, und die Beschreibung klingt genau wie mit den gleichen zahlen jedes mal. b. Warum die Notwendigkeit für eine
for
- Schleife?cumsum
undReduce
sind nette Funktionen. c. Wenn Sie einefor
Schleife, preallocate ein Vektor, der die entsprechende Größe, oder du wirst eine böse Leistungseinbußen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schaute ich bei deinem loop-Problem ein wenig anders, da Sie wollte nur die Summe. Ihr code war das hinzufügen von Elementen in einen Vektor mit der Summe[i]. Sie stattdessen wollen, nur habe ich einen iterator für das hinzufügen einer Nummer zur anderen Nummer. Ich initialisiert, dass 0 mit der ersten Zeile.
[1] 108900
[1] 108900