用while求前100个素数怎么求的平均值

题目:把100以内(不包括100)的所有素数怎么求都打印到屏幕上并且求出素数怎么求的个数是多少?

在大于1的整数中只能被1和这个数本身整除的数,如2、3、5、7、11也叫质數。

解题思路:最直观的方法根据定义,因为质数除了1和本身之外没有其他约数所以判断n是否为质数,根据定义直接判断从2到n-1是否存茬n的约数即可

以下这个程序代码是用while循环嵌套的方法来实现

int n = 2;//定义一个整形的变量n来代表100以内的所有整数,初始化为2

//内层循环判断n是否是素数怎么求

上述判断方法明显存在效率极低的问题。对于每个数n其实并不需要从2判断到n-1,我们知道一个数若可以进行因数分解,那麼分解时得到的两个数一定是一个小于等于sqrt(n)一个大于等于sqrt(n),据此上述代码中并不需要遍历到n-1,遍历到sqrt(n)即可因为若sqrt(n)左侧找不到约数,那么右侧也一定找不到约数.现在让我们用一个for循环的嵌套来实现程序如下:

//内层for循环判断n是否是素数怎么求

希望各位能坚持不懈地坚持編写程序,成为一个牛牛的程序员

小弟初学不会做这个题,请高掱指教请不要用复杂的语句,用while语句就好复杂的语句我不懂。... 小弟初学不会做这个题,请高手指教请不要用复杂的语句,用while语句僦好复杂的语句我不懂。

我要回帖

更多关于 素数怎么求 的文章

 

随机推荐