素数的求解(c语言)

来源:转载

输入100到200之间所有的素数。(1)通过两层for循环实现#include <stdio.h>
int main()
{
int i;
int j;
1
<br>
 
for (i=100;i<=200;i++)
{
for (j=2;j<=i-1;j++)
{
if(i%j==0)
break;
}
if(j==i)
printf("%d ",i);
}
return 0;
}
优化:
#include <stdio.h>
int main()
{
int i;
int j;
for (i=101;i<=200;i=i+2)
{
for (j=2;j<=i/2;j++)       
{
if(i%j==0)
break;
}
if(j>=i/2)
printf("%d ",i);
}
return 0;
}
(2)通过比较记录的次数
    #include <stdio.h>
     int main()
    {
int i,j;
int count=0;
for (i=100;i<=200;i++)
{
count=0;   //每一次count都需要从0开始
for (j=2;j<=i-1;j++)
{
if(i%j==0)
break;
else
count++;
}
if(count==i-2)      //记录次数比较
                printf("%d ",i);
}
return 0;
}
(3)布尔类型
#include <stdio.h>
int main()
{
int i,j;
bool flag;
for( i=100;i<=200;i++ )
{
flag = true;
for( j=2;j<=i-1;j++ )
{
if( i%j==0 )
{
flag=false;
break;
}
}
if( flag )
printf("%d ",i);
}
return 0;
}



分享给朋友:
您可能感兴趣的文章:
随机阅读: