蓝桥杯ACM简单题-寻找素数
1.问题描述
寻找500-1000中的素数。
2.算法分析
所谓素数即为仅能被1和本身整除的数,故我们仅需将从3(凡是偶数均不为素数,故排除2)开始的所有数进行测试即可,详细参考代码中注释。
3.输出格式
该范围内素数共有n个
4.样例输出
该范围内素数共有73个
#include <stdio.h>
//#include <math.h>
int main()
{
int flag,count,i=0;
//int f;
scanf("%u",&flag); //设置初始值
if(flag%2==0)
flag++;
while(flag<=1000)
{
//f=1; //重置标记(标记用于识别是否为素数)
count=3;
while(count<=flag)
{
if(flag%count==0) //判断是否可以整除,若可以则退出本次循环
{
//f=0;
break;
}
count++; //递增
}
if(count>=flag) //计算数大于本体,则说明为素数,那么素数总数加一
{
i++;
}
flag+=2;
}
printf("该范围内素数共有%d个\n",i); //输出素数
return 0;
}