VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1102|回复: 4

[已解决]关于求素数的一个问题

[复制链接]
83_avatar_middle
最佳答案
0 
在线会员 发表于 2023-1-15 18:37:54 | 显示全部楼层 |阅读模式
  1. #include <iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.         cout << "100~200之间的素数如下:" << endl;

  6.         int x = 0;
  7.         for (x = 100; x <= 200; ++x)
  8.         {
  9.                 int y = 2;
  10.                 for (y = 2; y < x / 2; ++y)
  11.                 {
  12.                         if (x % y == 0)
  13.                         {
  14.                                 break;
  15.                         }
  16.                 }

  17.                 if (y < x / 2) continue;

  18.                 cout << x << endl;
  19.         }

  20.         cout << endl;
  21.         return 0;
  22. }
复制代码

@Syc 这段代码中 “if (y < x / 2) continue;” 这句实在是没理解透啊  这不是又返回循环了么  素数怎么输出的?
整段代码素数到“if (y < x / 2) continue;”不是成立的么?成立不是该返回循环了么?下面的输出语句并没有执行啊
有没有大神给讲解一下
最佳答案
35_avatar_small
2023-1-15 22:23:29
打个断点调试一下就明白了




上一篇:dll中这个类型怎么定义?
下一篇:dll 拿到别的电脑上用出错
23_avatar_middle
最佳答案
5 
在线会员 发表于 2023-1-15 19:24:19 | 显示全部楼层
不是返回循环,是执行下一条循环语句
83_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2023-1-15 20:34:57 | 显示全部楼层
明月出天山 发表于 2023-1-15 19:24
不是返回循环,是执行下一条循环语句

能详细指导一下么大神,执行下一条循环,下面的输出语句并没有执行啊,我意思是素数求出来的时候不是应该输出的么,但是if判断给执行下一个循环了,下面的输出语句并没有执行啊
35_avatar_middle
最佳答案
1 
在线会员 发表于 2023-1-15 22:23:29 | 显示全部楼层    本楼为最佳答案   
bestAnswer
打个断点调试一下就明白了
43_avatar_middle
最佳答案
0 
在线会员 发表于 2023-1-27 15:06:00 来自手机 | 显示全部楼层
应该是满足if()后,执行continue, continue的意思是后面的语句不执行,进行下一条循环,也就是++ x,我感觉能理解y< x/2这条语句是干什么的就知道了,我也刚学到这。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-2-6 08:15

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表