Wie würden Sie den "else" -Teil dieser verschachtelten for-Schleife interpettieren?Interpretieren von komplizierten verschachtelten Schleifen
Ich habe meinen Versuch auf der Unterseite gegeben, aber ich kämpfe um meinen Kopf herum, wie der andere Teil funktioniert, wenn man bedenkt, dass a bereits definiert ist. Das Ergebnis von y (1,2,3,4) ist 16, so dass nach meinen Berechnungen der Vektor in diesem Schritt um einen Wert von 6 zunimmt, da die anderen Schritte nicht gelten.
y=function(a,b,c,d)
{
if(a>b){
while(b<d){
b=b+a
}
for(e in c(a,c,d)){
b=b-e
}}
else{
for(a in 1:c){
a=a+d
}}
if(b>c){
c= c*d + a-b}
return(sum(a,b,c,d))
}
y(1,2,3,4)
Meine Interpretation:
nur gültig, wenn a> b (wenn nicht: überspringen zu "else Schritt") Halt a nach b Zugabe, solange es b überschreiten tut (die letzte Stufe stoppen bevor es geschieht) Sage e in c (a = 1, b = 2, c = 3), würden wir tun (b - a - c - d) oder technisch b-1, dann (b-1) -2, dann (b-3) -3 b =
Nur wenn ein < b es gilt - das ist der Teil den ich nicht verstehe ????
Der nächste Schritt nach der ersten if/else-Schleife: nur c neu berechnen mit den neuesten Werten von a, b, d, c aus der Zeit nach der ersten Schleife Summe alle Elemente des endgültigen Vektors