題目:判斷101-200之間有多少個(gè)素?cái)?shù)送悔,并輸出所有素?cái)?shù)。
one:
#include <stdio.h>
#include <math.h>
main()
{
int i,j,s,leap;
leap = 1;
s = 0;
for(i = 101;i <= 200;i++)
{
for(j=2;j<=sqrt(i+1);j++)//i+1是防止sqrt(i+1)為小數(shù)時(shí)直接取整數(shù)部分持际,導(dǎo)致漏數(shù)。
{
if(i%j==0)
{
leap=0;
break;
}
}//如果是素?cái)?shù)leap=1;如果不是,leap=0哗咆,跳出循環(huán)蜘欲。
if(leap)//用leap的值來判斷是不是素?cái)?shù),l
{
printf("%d\n",i);
s++;
}
leap = 1;//每次內(nèi)層循環(huán)后重置leap=1晌柬,保證內(nèi)循環(huán)的leap為1
? ? }
? ? printf("The total prime number is %d",s);
}
two:
#include <stdio.h>
#include <math.h>
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m<=200;m++)
{ k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) {printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}