问题:
判断101-200之间有多少个素数,并输出所有素数。
问题分析:
求素数可以根据以下算法,设这个数为m,将这个数分别除以2-√m,若整除,则说明不是素数,否则,则表明该数是素数。
代码
#include<math.h>
#include<stdio.h>
int main()
{
int k=0;//用来记录该数的平方根
int h=0;//用来记录该个数
int leap=1;//用来怕判断是否能整除
for(int m=101;m<=200;m++)
{
k=sqrt(m+1);
for(int i=2;i<=k;i++)
if(m%i==0) {leap=0;break;}
if(leap){
printf("%d ",m);
h++;
if(h%10==0) printf("\n");
}
leap=1;
}
printf("\nthe total is %d",h);
return 0;
}
运行结果

总结:
感觉自己思维真的很差,一个求素数的问题都想好久了,对这个算法的理论也很难证明。

本文介绍了一种判断101到200之间素数的有效算法,通过将每个数除以2到其平方根之间的所有数来检查其是否为素数。代码使用C语言实现,包含了一个循环结构来遍历指定范围内的所有整数,并使用内部循环进行除法检查。最终,程序输出了该范围内所有的素数,并统计了素数的总数。
4584

被折叠的 条评论
为什么被折叠?



