Odpowiedź:
Przykładowe poprawne rozwiązanie:
xi ← x/2
kontynuacja ← prawda
dopóki kontynuacja wykonuj
xi ← (xi + x/xi)/2
p ← część_całkowita(xi)
jeżeli p ⋅ p ≤ x oraz (+ 1)⋅ (p + 1) > x
kontynuacja ← fałsz
jeżeli (p – 1)⋅ (p – 1) ≤ x oraz p ⋅ p >x
p ← p – 1
kontynuacja ← fałsz
zwróć p i zakończ

Przykładowe poprawne rozwiązanie języku C:
int pierw(double x){
int p;
double xi = x / 2;
bool kontynuacja = true;

while (kontynuacja){
xi = (xi + x / xi) / 2;
p = floor(xi);
if (p*p<=x && (p+1)*(p+1)>x)
kontynuacja=false;
if ((p-1)*(p-1)<=x && p*p>x){
p = p-1;
kontynuacja = false;
}
}
return p;
}
Powrót do pytań