vc输出1-100内质数 - 爱问答

(爱问答)

vc输出1-100内质数

#include<stdio.h>

int main()

{

int a,n,i,x,sum,t;

for(i=1,t=i;i<=100;i++)

{

for(a=i,sum=0;t>=1;t--)

{

n=a%t;

if(n==0)

sum=sum+1;

}

if(sum<=2)

printf("%d ",i);

}

printf(" ");

return 0;

}

结果不对 输出的是1-100所有数,调试发现t一直等于0,为什么?急 在线等  可追加vc输出1-100内质数

你程序的关键错是因为你的

for(i=1,t=i;i<=100;i++)

t不能在这里赋值的*在这里赋的话,t永远是1

你要将它赋在循环里面(你程序的风格也不好,尽量不要在for的初始值里写多条语句)

另外,质数要从2开始的(1既能被1除,也能被自己除的)

将你的循环改为

   for(i=2; i<=100; i++)
       {
           t=i;
           for(a=i,sum=0; t>=1; t--)

就可以了

#include<iostream>
using namespace std;
int main()
{
int i, j;
for(i=1;i<=100;i++) {
for(j=2;j<i;j++)
if(i!=j&&i%j==0)
break;
if(i == j) cout<<i<<endl;
}
system("pause");
}
事实上不建议这样写for(j=2;j<i;j++) ==>sqrt(i) 这样的算法更有效

相关标签:vc

下一篇:bilibili投稿问题。

上一篇:某些biosprograme内含有bios防写settings。哪个或哪些项是防写设置?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?