用c语言 (c++) 求质数
- 原创
- |
- 浏览:6522
- |
- 更新:
- |
- 标签:C语言
方法/步骤
如果用人工方法求质数,只能在很小的数判断它是不是,但是电脑却能高效快速的找到它。那么开始,先打开软件。
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a=0;
int b=2;
int i=0;
int n1=0;
int n2=0;
printf("请输入所要求哪个范围的质数\n");
scanf("%d %d",&n1,&n2);
for(a=n1;a<=n2;a++)
{
for(b=2;b<=a-1;b++)
if(a%b==0) break;
if(a<=b)
printf("质数: %d\n",a);
}
printf("\n");
return 0;
}
输入你所要求某个范围的质数,两个数用【空格键】隔开。如输入"180 200",
输出:
质数: 181
质数: 191
质数: 193
质数: 197
质数: 199
- 相关内容未经许可获取自百度经验
如果只求某数,在运行框只要输入2个相同的数即可,如输入“163 163”
输出:质数: 163
需要注意的是,如果输入的合数,那将不输出任何东西。如输入"153 153",
修改程序,加入循环输入,这样我们就可以在运行框不断地输入,而不用再退出运行框再运行输入。
#include "stdafx.h"
int main(int argc, char* argv[])
{
int a=0;
int b=2;
int i=0;
int n1=0;
int n2=0;
printf("请输入所要求哪个范围的质数\n");
scanf("%d %d",&n1,&n2);
for(;;)
{
for(a=n1;a<=n2;a++)
{
for(b=2;b<=a-1;b++)
if(a%b==0) break;
if(a<=b)
printf("质数: %d\n",a);
}
printf("请输入所要求哪个范围的质数\n");
scanf("%d %d",&n1,&n2);
}
printf("\n");
return 0;
}
如输入"180 200",输出
质数: 181
质数: 191
质数: 193
质数: 197
质数: 199
再输入"200 220",输出
质数: 211
END











