輸入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;
}