Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pascal prvočísla

Zdravim,

Potřebuju poradit. Následující program nefunguje a já potřebuju najít chybu:

program Prvocisla;

{$APPTYPE CONSOLE}

uses
SysUtils;
var
i,x,y:longint;

begin

y:=2;
for i:=1 to 10000000 do
x:= 2*i*i*i-3*i*i+i+3;
while x mod y <> 0 do y:=y+1;
if y=x then writeln(x);

readln;

end.

Předmět Autor Datum
for i:=1 to 10000000 do x:= 2*i*i*i-3*i*i+i+3; je nezmysel (zbytocne ratas v cykle x milionkrat a v…
MM.. 11.10.2012 17:14
MM..
takže to mam udělat jak ?
123WE 11.10.2012 17:18
123WE
A co má ten program vlastně dělat?
Wikan 11.10.2012 17:23
Wikan
Určete všechna celá čísla i,2*i*i*i-3*i*i+i+3 je prvočíslo
123WE 11.10.2012 17:33
123WE
*pro něž 2*i*i*i-3*i*i+i+3 je prvočíslo
123WE 11.10.2012 17:34
123WE
ten program mas urobit ty, aby si sa nieco naucil. Co tam je zle uz sme ti napisali a aj som ti napi…
MM.. 11.10.2012 18:15
MM..
a ten vyraz si asi najprv uprav na nejake (i+neco)(i+neco)(i+neco) a ak to je mozne takto upravit ta… poslední
MM.. 11.10.2012 18:19
MM..
1 000 000 000 000 000 000 000 určitě nenarveš do longint
Wikan 11.10.2012 17:15
Wikan

ten program mas urobit ty, aby si sa nieco naucil. Co tam je zle uz sme ti napisali a aj som ti napisal ze co tam mas zmenit aby to slo

Mozno si sa mal zamyslet ze kde si chcel mat zaciatok a koniec cyklu a dat tam potom begin a end.

(potom to pojde aspon pre male cisla kym ten vyraz neprekroci 4miliardy potom nastava to co pisal nizsie Wikan)

a ten vyraz si asi najprv uprav na nejake (i+neco)(i+neco)(i+neco) a ak to je mozne takto upravit tak potom je jasny vysledok ze prvocislo bude len vtedy ak aspon 2 zo zatvoriek maju hodnotu 1. Je to skor matematicka uloha, a ne uloha pre PC. Ale da sa to aj s PC ak si stanovis rozumnejsie hranice (nemusis testovat az po milion, riesenia budu tipujem max. jednociferne, ak vobec nejake budu, a je treba brat do uvahy aj zaporne cisla)

Zpět do poradny Odpovědět na původní otázku Nahoru