lihanlinjlu
码龄7年
关注
提问 私信
  • 博客:4,987
    问答:501
    5,488
    总访问量
  • 暂无
    原创
  • 暂无
    排名
  • 2
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:安徽省
  • 加入CSDN时间: 2018-01-05
博客简介:

lihanlinjlu的博客

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得1次收藏
成就勋章
TA的专栏
  • 多目标跟踪学习
  • 日常学习总结
  • 闲扯
  • 课后题
兴趣领域 设置
  • Python
    python
  • Java
    java
  • 大数据
    大数据
  • 人工智能
    人工智能
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

181人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

求不大于num的最大质数

答:

循环是用来判断i是否为质数的。
拿i==num来举例:
如果num不为质数的话,必然分解成两个数相乘的形式,而这两个数必然是都小于num的。
所以从小于num的两数相乘来判断num是否为质数。
循环中是分别从小数m==2和大数n==num-1相成来判断的。
m*nnum的话就将n-1,m*n=num的话就判断num不为质数。m>n的话就判断num为质数,也就是找不出两数相乘为num。
那么有一个疑问就是这样的做法是否会有漏洞,因为看起来并不是通过将所有比num小的数两两相乘的所有情况都判断了。那么就来验证一下
令num==10;
运行程序
1:i==10;m==2,n==9;m<=n;m*n>i,所以n--;之后m*n>i,直到n==5.循环跳出 i--
2:i==9;m==2,n==5;m<=n;m*n>i,所以n--,n==4;m*ni,所以n--,n==3.m*n==i,循环跳出i--
3:i==8;m==3,n==3,m*n>i,所以n--,n==2,n 4:m>n,返回i的值,i为8.
结果显示不大于10的最大质数为8,这显然是错误的。所以算法是不对的。

回答问题 2018.09.10