C语言输出100-200之间的素数

#include<stdio.h>intmain(){intn,count=0;inti;for(n=101;n<=200;n++){for(i=2;i<n;i++){i... #include <stdio.h>
int main()
{
int n,count=0;
int i;
for(n=101;n<=200;n++)
{
for(i=2;i<n;i++)
{
if(n%i==0)
count++;
}
if(count==0)
printf("%d\n",n);
}
return 0;
}

输出只有一个101,求解释!!
展开
 我来答
知识慧
推荐于2019-10-18 · TA获得超过4526个赞
知道答主
回答量:0
采纳率:50%
帮助的人:0
展开全部

逻辑错误,准确位置为14行,正确代码如下:
#include<stdio.h>
int main()
{
int i = 0;
for (i=100; i<=200; i++)
{
int j = 0;
for (j=2; j<=i-1; j++)
{
if (i%j == 0)
{
break;
}
}
if (j>=i)
{
printf("%d",i);
}
}
return 0;
}

扩展资料:

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

是素数或者不是素数。

如果

为素数,则

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。

  • 如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

  • 其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。



生活知识小超人
高粉答主

2021-06-23 · 醉心答题,欢迎关注
知道答主
回答量:2078
采纳率:50%
帮助的人:92.7万
展开全部

1、首先打开vc6.0, 新建一个vc项目,添加头文件,如下图所示。

2、然后添加main函数,如下图所示。

3、这时定义 i, j,count三个变量,如下图所示。

4、然后使用第一层for循环,使用第二层for循环。

5、如果j能被i整除,就跳出内层循环,判断循环是否提前跳出,如果 j < i 说明在 2~j之间,i有可整除的数。

6、最后使用printf打印出i,用count计数,每五个数换行。

7、最后运行程序,如下图所示就完成输出了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朴力允盛
2020-02-21 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:685万
展开全部
思路:从100到200依次循环判断是否是素数,如果是素数则输出。
素数就是只能被1和本身整除的数。
参考代码:
#include
int fun(int n){//判断n是否是素数
int i;
if(n<2) return 0;
for(i=2;i
评论
0
0
0
加载更多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yi指liu沙
2013-07-14
知道答主
回答量:3
采纳率:0%
帮助的人:2.8万
展开全部
我这有个C++语言的代码,你自己改改就行了
#include<iostream>
#include<iomanip>
#include<algorithm>
using namespace std;
int main()
{
int i,j=0,b[100],k;
for(k=101;k<200;k++)
{
bool flag=true;
for(i=2;i<k;i++)
{
if(k%i==0)
{
flag=false;
break;
}
}
if(flag==true)
{

b[j]=k;
j++;
}
}
for(i=0;i<j;i++)
{
if(i==0)
cout<<b[i];
else
cout<<" "<<b[i];
}
cout<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lcs21c
2013-07-13 · TA获得超过146个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:111万
展开全部
你每次判断完一个数之后,应该要把count重新置0。
if(count==0) printf("%d\n",n);
else count=0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式