素数问题代码输出素数

img


为什么下面当因数大于最大因数i\2时,还没有跳出循环,则证明是素数呢?

因为一个数最大的质因数不会超过它的1/2(因为任何数除以比自己1/2还大的数都是1.xxx)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7560749
  • 这篇博客也不错, 你可以看下【学习随笔】关于计算中 int 正负数溢出判定
  • 除此之外, 这篇博客: 委托构造函数详解,小白也可以看懂中的 为什么要有委托构造函数? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    避免你有多个参数表不同但是逻辑相近(或者有公共部分)的构造函数的时候,一个逻辑写好几遍造成代码重复。

    这里要更好的理解,需要将一个故事

    如图1, 班主任要求A、B、C三位同学完成将各自资料送交办公室任务.(C++中初始化成员) ,虽然三位同学手中的资料不同(各成员列表), 但是需要完成的操作是相同的(初始化), 都是送往办公室。按照C++98的做法, 则需要A、B、C三位同学各自重复相同操作。这显示是不必要的. 对于C++11, 完全可以将这个工作委托给一个同学(充当目标构造函数, 后面会专门将到)去间接完成, 这样便省去了大量的重复性劳动。

    在这里插入图片描述

    委托构造函数也是构造函数, 因此, 构造函数的特性都适合委托构造函数, 比如: 没有返回值, 可以有一个或多个参数, 有函数体等。委托构造函数也有一个成员初始值列表和函数体。 在委托构造函数内, 成员初始值列表的唯一入口便是类名本身。然后紧接着是以圆括号围起来的参数列表, 这些参数列表必须与类中的另外一个构造函数相匹配。

  • 您还可以看一下 李梓佳老师的手把手带你入门深度学习之150行代码的汉字识别系统课程中的 部署网络到应用中小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^