Citat:
Ursprungligen postat av
bigkjell85
Jag är med på allt, men jag har ingen aning om hur jag ska utföra det du beskriver i sista meningen:
"Exempelvis kan du börja med att x = 3*y för varje nytt värde på y, och sedan ökar du på x med 1 och testar kvoten tills x blir större än exempelvis 3.15 gånger y, eftersom du då vet att högre värden på x inte kommer att ge bra approximationer."
Ska jag använda mig av for eller while-loop? Känner mig helt vilse o uppgiven...
Citat:
Ursprungligen postat av
bigkjell85
Är det nått sånt här du tänker på?
Kod:
y = 1;
x = 3*y;
a = abs((355/113)-pi) ;
b = abs((x/y)-pi) ;
while b > a % Så länge som b är större än a, upprepa följande
x = x + 1;
while x/y > 3.15
y = y + 1;
end
end
Du kan formulera det med while-loopar, men du kan inte börja med att sätta x = x + 1 i din loop. Istället börjar du med att sätta y = y + 1 och x = 3*y. Sedan räknar du om b och så länge x/y är
mindre än 3.15 (inte större, som du skrivit här) så prövar du att öka x med 1 och räkna om b. När x/y blir 3.15 eller större så är det dags för nästa varv med y = y + 1.