Program prostoe_chislo; Var i, x : Integer; Begin WriteLn('Vvedite Chislo'); ReadLn(x); For i := 2 to (x div 2) do Begin If (x mod i)=0 Then WriteLn('Chislo Ne Prostoe :-(') Else WriteLn('Prostoe Chislo! :-)'); End; End.
вот пример из делфи, если руки не кривые переделаешь на паскаль procedure TForm1.Button1Click(Sender: TObject); var n: integer; // проверяемое число d: integer; // делитель r: integer; // остаток от деления n на d begin n := StrToInt(Edit1.text); d := 2; // сначала будем делить на два repeat r := n mod d; if r <> 0 {// n не разделилось нацело на d} then d := d + 1; until r = 0; // повторять пока не найдено число на n делится без остатка label2.caption := Edit1.text; if d = n then label2.caption := label2.caption + ' - простое число. ' else label2.caption := label2.caption + ' - обычное число. '; end; end.
]Маньячка [, программа не работает при вводе числа до 4-х =\
вот моя версия, кода правда много (учусь) :
program chislo; var a : integer; begin writeln('Введите число'); readln(a); if (a<=3) then begin writeln('Простое число'); readln; end else begin if (a mod 2 = 0) or (a mod 3 = 0) then begin writeln('Непростое число'); readln; end else begin writeln ('Простое число'); readln; end; end; end.