C语言编程:求100到200之间素数的个数?

具体程序,谢谢

#include<stdio.h>

main()

{

int i,k,n;

n=0;

for(i=100;i<=200;i++)

{

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

if(i%k==0)

break;

if(i==k)

printf("%d",i);/*打印素数*/

n++; /*累计素数个数*/

}

printf("n=%d",n);/*打印素数个数*/

}

命题1对于B=36N+1形数而言。

若不定方程(3N)^2+N-(B-1)/36=W^2有整数解,

则6(3N-W)+1是小因子数;6(3N+W)+1是大因子数。

若不定方程(3N)^2-N-(B-1)/36=W^2有整数解,

则6(3N-W)-1是小因子数;6(3N+W)-1是大因子数。

以上内容参考:百度百科-质数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10
#include<stdio.h>
main()
{
int i,k,n;
n=0;
for(i=100;i<=200;i++)
{
for(k=2;k<i;k++)
if(i%k==0)
break;
if(i==k)
printf("%d",i);/*打印素数*/
n++; /*累计素数个数*/
}
printf("n=%d",n);/*打印素数个数*/
}本回答被提问者采纳
第2个回答  2021-06-20
#include<stdio.h>

#include<math.h>
int main(void){
int i,j,count=0;
int flag=0;
for(i=100;i<=200;i++){
flag=0;
for(j=2;j<=sqrt(i);j++){
if(i%j==0){
flag=1;
break;
}
}
if(flag==0) count++;
}
printf("%d\n",count);
}
第3个回答  2008-11-23
#include<stdio.h>
#include<math.h>
int isPrime(int i)
{
int j;
for(j=3;j<=(int)sqrt((double)i);j++)
{
if(i%j==0)return 0;
}
return 1;
}

main()
{
int i,sum=0;
for (i=101;i<=199;i+=2)
{
if(isPrime(i))sum++;
}
printf("%d", sum);
return 0;
}
第4个回答  2008-11-23
用C写相对简单方法,

#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);
}
相似回答