用pascal求a 到b 之间的最大质数我的程序是求出A到B之间的所有质数后,再求出他们的个数.再怎么求a 到b 之间的最大质数?program sushu;vari,j,t,a,b:integer;f:boolean;beginreadln(a,b);if a=1 then a:=a+1;for i:= a to
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 19:06:33
用pascal求a 到b 之间的最大质数我的程序是求出A到B之间的所有质数后,再求出他们的个数.再怎么求a 到b 之间的最大质数?program sushu;vari,j,t,a,b:integer;f:boolean;beginreadln(a,b);if a=1 then a:=a+1;for i:= a to
用pascal求a 到b 之间的最大质数
我的程序是求出A到B之间的所有质数后,再求出他们的个数.再怎么求a 到b 之间的最大质数?program sushu;
var
i,j,t,a,b:integer;
f:boolean;
begin
readln(a,b);
if a=1 then a:=a+1;
for i:= a to b do
begin
f:=true;
for j:=2 to trunc(sqrt(i)) do
if i mod j=0 then f:=false;
if f=true then
begin
write(i:4);
inc(t);
end;
end;
writeln;
writeln(t:4);
readln
end.
用pascal求a 到b 之间的最大质数我的程序是求出A到B之间的所有质数后,再求出他们的个数.再怎么求a 到b 之间的最大质数?program sushu;vari,j,t,a,b:integer;f:boolean;beginreadln(a,b);if a=1 then a:=a+1;for i:= a to
你可以在
if f=true then
begin
write(i:4);
inc(t);
end;
end;
这个循环中增加一个integer变量x来负责记录 目前为止最大的质数
即加入 x:=i
var
i,j,t,a,b,max:integer;
f:boolean;
begin
readln(a,b);
if a=1 then a:=a+1;
for i:= a to b do
begin
f:=true;
for j:=2 to trunc(sqrt(i)) do
全部展开
var
i,j,t,a,b,max:integer;
f:boolean;
begin
readln(a,b);
if a=1 then a:=a+1;
for i:= a to b do
begin
f:=true;
for j:=2 to trunc(sqrt(i)) do
if i mod j=0 then f:=false;
if f=true then
begin
write(i:4);
max:=i;
inc(t);
end;
end;
writeln;
writeln(t:4);
writeln(max:4);
readln
end.
代码如上,因为你是枚举a 到 b 之间的数是否是质数,所以最后记录的那个质数就是最大的数。
收起
就是一个简单排序问题嘛,将结果中的数两两比较,找出最大的。
其实你做复杂了,从b到a找出所有素数,那么第一个找到的就是最大的素数!
var a,j,b,c,t1,t2,i:longint;f;integer;
begin
readln(a,b);f:=0;s:=0;
if a>b then t1:=b;t2:=a else
t1:=a;t2:=b;
for i:=t1 to t2 do
begin
for j:=2 to i div 2 do
if i mod j =0 then f:=1;s:=s+1;
if f=0 then writeln(i);
end;
writeln(s);
readln;
end.
赋值给一个数组,然后用冒泡法排序,输出第一个:
for i:=a to b do begin
for j:=i+1 to b do begin
if a[i] s:=a[i];
a[i]:=a[j];
a[j]:=s;
end;
end;
writeln(a[1]);
end.