★高分!!★ 求解一 pascal,题目 ★

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:00:03
输入任意一整数.判断它是否为素数
(素数:只能被1 和 自身整除的数)

分别用 while 和 FOR 循环
以及不用循环 做出来.

共3个答案,想到几个写几个

谢谢~
1楼的朋友

你的方法很复杂呀~
而且我试了试,无法运行 报104和 103 错误

我记得可以用 布尔型 解决

还有什么好方法吗?

for循环:
var i,n:longint;
begin
read(n);
if n=1 then begin
writeln('False');
exit;
end;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then
begin
writeln('False');
exit;
end;
writeln('True');
end.

WHILE循环:
var i,n:longint;
begin
read(n);
if n=1 then begin
writeln('False');
exit;
end;
i:=2;
while i<=trunc(sqrt(n)) do
begin
if n mod i=0 then
begin
writeln('False');
exit;
end;
inc(i);
end;
writeln('True');
end.

没有循环(别怪我用这招…………)
const a:set of 0..50=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47];
var n:longint;
begin
read(n);
if n in a then writeln('True') else writeln('False');
end.