Advertisement

求3-1000之间的素数

阅读量:
None.gif

#include < stdio.h >

None.gif

#include < conio.h >

None.gif

#include < math.h >

None.gif

void main()

ExpandedBlockStart.gif
ContractedBlock.gif
dot.gif

{

InBlock.gif

clrscr();

InBlock.gif

unsigned i,j,flag,count;

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//用flag作标志/

InBlock.gif

count=0;

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//计数器清0/

InBlock.gif

for(i=3;i<=1000;i++)

ExpandedSubBlockStart.gif
ContractedSubBlock.gif
dot.gif

{

InBlock.gif

flag=0;

InBlock.gif

for(j=2;j<=sqrt(i);j++)

ExpandedSubBlockStart.gif
ContractedSubBlock.gif
dot.gif

{

InBlock.gif

if (i%j==0)

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//能整除,不是素数,标志设为1/

ExpandedSubBlockStart.gif
ContractedSubBlock.gif
dot.gif

{flag=1;break;}

ExpandedSubBlockEnd.gif

}

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//内循环结束/

InBlock.gif

if (flag==0)

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//若flag为0,i是素数/

ExpandedSubBlockStart.gif
ContractedSubBlock.gif
dot.gif

{

InBlock.gif

printf("%4d,",i);count++;

InBlock.gif

if (count%8==0) printf("\n");

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

/////**//每行输出8个素数/

ExpandedSubBlockEnd.gif

}

ExpandedSubBlockStart.gif
ContractedSubBlock.gif

} /////**//外循环/

ExpandedBlockEnd.gif

}

第二种方法

None.gif

#include < stdio.h >

None.gif

#include < conio.h >

None.gif

#include < math.h >

None.gif

void main()

ExpandedBlockStart.gif
ContractedBlock.gif
dot.gif

{

InBlock.gif

int i,n;

InBlock.gif

for(i=2;i<=50;i++)

ExpandedSubBlockStart.gif
ContractedSubBlock.gif
dot.gif

{

InBlock.gif

for(n=2;n<=(int)sqrt(i);n++)

InBlock.gif

if(i%n==0)

InBlock.gif

break;

InBlock.gif

if(n==(int)sqrt(i)+1)

InBlock.gif

printf("%d ",i);

ExpandedSubBlockEnd.gif

}

InBlock.gif

printf(".");

InBlock.gif

getch();

InBlock.gif
ExpandedBlockEnd.gif

}

全部评论 (0)

还没有任何评论哟~