Java新手,求素数的时候,我搜到了这样句代码for (int i = 2; i++),有个小问题

[复制链接]
查看11 | 回复5 | 2019-5-16 15:08:01 | 显示全部楼层 |阅读模式
i <=
i小于等于后面的Math.Sqrt(k); 是什么东西????
for (int i = 2; i <= Math.Sqrt(k); i++)
整个这句是什么意思

回复

使用道具 举报

千问 | 2019-5-16 15:08:01 | 显示全部楼层
求2到K之间的素数inti=2表明I的初始值是2i<=Math.Sqrt(k)k的平方根,开2次方只需求到开方内的数就行,意义是一样的但可以提高效率I++是I的自增继续向下找
回复

使用道具 举报

千问 | 2019-5-16 15:08:01 | 显示全部楼层
你的题目应该是求K范围内的素数吧。Math.Sqrt(k)是求K的开方。在数学中,求一个数以内的素数,只要求2到K的开方内的数就行了。这样可以提高程序效率
回复

使用道具 举报

千问 | 2019-5-16 15:08:01 | 显示全部楼层
求2到K之间的素数int i=2表明I的初始值是2 i <= Math.Sqrt(k)k的平方根,开2次方 只需求到开方内的数就行,意义是一样的但可以提高效率I++是I的自增继续向下找
回复

使用道具 举报

千问 | 2019-5-16 15:08:01 | 显示全部楼层
数学函数求k 的开方。
回复

使用道具 举报

千问 | 2019-5-16 15:08:01 | 显示全部楼层
从i=2开始到k的平方根值结束进行循环
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行