#include "iostream.h"
void main()
{
int i,j,index;
for (i=2;i<=100;i++)
{
index=1;
for (j=2;j{
if(i % j==0) index=0;
}
if (index==1) cout<}
}
请问程序的每一句话都是什么意思?
用c++求质数的问题,请高手帮帮忙!
答案:4 悬赏:30 手机版
解决时间 2021-03-16 10:35
- 提问者网友:送舟行
- 2021-03-16 01:42
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-03-16 02:47
这题目是求0~100之间的所有质数的.
#include "iostream.h"
void main() //这两行没啥好说的
{
int i,j,index; //定义3个变量
for (i=2;i<=100;i++) //外循环,i指2到100之间的所有整数,i的初始值为2,一直到100共循环99次,循环结束时i+1
{
index=1; //先给index附值为1
for (j=2;j {
if(i % j==0) index=0;
}
if (index==1) cout< }
}
#include "iostream.h"
void main() //这两行没啥好说的
{
int i,j,index; //定义3个变量
for (i=2;i<=100;i++) //外循环,i指2到100之间的所有整数,i的初始值为2,一直到100共循环99次,循环结束时i+1
{
index=1; //先给index附值为1
for (j=2;j {
if(i % j==0) index=0;
}
if (index==1) cout< }
}
全部回答
- 1楼网友:孤独的牧羊人
- 2021-03-16 04:58
这是最简单的使用蛮力法求解质数的程序;
程序开头定义i用于枚举2~100的所有数字,来控制外层的循环。
j用于控制内层的循环,从2到i/2依次枚举数字,看此时的i的值是否可以被j除尽。若可以除尽(if(i % j==0) index=0; )则说明此时的i的值有一个数可以被除尽那么将index的值置为0,表明此数不是质数(其实这一步可以加一个break优化算法),如果测试了一遍从2到i/2都没有数可以被i除尽,那么说明i没有除1和他本身的因子,那这个数就是质数了,此时表现在程序上就是index=0;一次都没有被执行,那么index就一直为1,所以最后只需要判断index是否为1就能知道i是不是质数了。
- 2楼网友:狂恋
- 2021-03-16 04:19
这题目是求0~100之间的所有质数的.nbsp;#includenbsp;“iostream.h“nbsp;voidnbsp;main()nbsp;//这两行没啥好说的nbsp;{nbsp;intnbsp;i,j,index;nbsp;//定义3个变量nbsp;fornbsp;(i=2;iamp;lt;=100;i++)nbsp;//外循环,i指2到100之间的所有整数,i的初始值为2,一直到100共循环99次,循环结束时i+1nbsp;{nbsp;index=1;nbsp;//先给index附值为1nbsp;fornbsp;(j=2;jamp;lt;i/2;j++)nbsp;//内循环,从这里就开始判断i是否是质数,一共循环inbsp;的1/2次,如果都不能整除,那说明i是质数,符合index=1这个条件,然后执行输出语句输出这个i,结束后进入下一次循环判断下一个i是否是质数.nbsp;{nbsp;if(inbsp;%nbsp;j==0)nbsp;index=0;nbsp;}nbsp;ifnbsp;(index==1)nbsp;coutamp;lt;amp;lt;iamp;lt;amp;lt;‘ ‘;nbsp;}nbsp;}
- 3楼网友:孤老序
- 2021-03-16 04:06
#include "iostream.h"
void main()
{
int i,j,index;
for (i=2;i<=100;i++) //从2到100循环
{
index=1;
for (j=2;j
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯