回 帖 发 新 帖 刷新版面

主题:找素数!

找出1-100之间所有素数。

这道题怎么做?

回复列表 (共9个回复)

沙发

var
i,j,k:integer;
begin
for i:=2 to 100 do
begin;
k:=0;
for j:=2 to round(sqrt(i-1)) do
begin
if i mod j=0 then k:=k+1;
end;
if k=0 then write(i:4);
end;
end.

板凳

快速搜索[em2]

3 楼

谢谢

4 楼

var
i,j,k:integer;
begin
for i:=2 to 100 do
begin;
k:=0;
for j:=2 to round(sqrt(i-1)) do
begin
if i mod j=0 then k:=k+1;
end;
if k:=0 then write(i:4);
end;
end.

这样才对k后面要加赋值号~
但还是非常感谢的~

5 楼

PROGRAM prime(input,output);
  {输出1-100中的素数}
 VAR
  i,j,count:integer;
    flag:boolean;
  BEGIN
    count:=0;
    FOR i:=2 TO 100 DO
    BEGIN
      {用2到sqrt(i)去除i,看能否除尽}
    flag:=true;
      FOR j:=2 TO round (sqrt(i))DO
      IF i MOD j=0
      THEN flag:=false;
      {若都除不尽,输出素数}
   IF flag
         THEN BEGIN
               write(i);
              count:=count+1;
              IF count MOD 5=0
              THEN writeln
              END
          END
    END.

6 楼

var i,s,n,j,k:integer;
begin
  for i:=2 to 100 do
  begin
    j:=0;
    for k:=1 to i do if i mod k=0 then j:=j+1;
    if j=2 then s:=s+i;
  end;
  writeln('s= ',s);
end.

7 楼

program yb(input,output);
var a,b:integer;
     c:boolean;
  begin
   writeln('2');
    for a:=3 to 200 do
     begin
     c:=true;
      for b:=2 to trunc(0.5*a) do
        if (a mod b=0) then
         c:=false;
      if c=true then
       writeln(a);
       end;
      end.

8 楼

var i,j:integer;
     p:boolean;
begin
   for i:=2 to 100 do begin
   p:=true;
    for j:=2 to trunc(sqrt(i))do begin
    if i mod j=0 then p:=false;
   end;
   if p then write(i:5);
    end;
end.    
这行吗???[em9]

9 楼

var
i,j,k:integer;
begin
for i:=2 to 100 do
begin;
k:=0;
for j:=2 to round(sqrt(i-1)) do
begin
if i mod j=0 then k:=k+1;
end;
if k=0 then write(i:4);
end;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册