求1000以内素数平均值
2017-05-31 11:59
1536 查看
素数的定义
素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。
1和0既非素数也非合数。
合数是由若干个质数相乘而得到的,所以,质数是合数的基础,没有质数就没有合数。
算法原理
按照定义,从2到n-1判断有没有能整除n的数。如果有,则不是素数,否则,是素数,这样算法复杂度是O(n)。再进一步分析,一个数不是素数就是合数, 那么一定可以由两个自然数相乘得到, 其中一个大于或等于它的平方根,一个小于或等于它的平方根。并且成对出现。所以我们只需从2一直算到sqrt(n)。
判断素数isPrime()
bool isPrime(int n){ if (n < 2) { return false; } int i; for (i = 2; i*i <= n; i++){ if (n%i == 0){ return false; } } return true; }
求1000以内素数平均值
#include<stdio.h> void main() { int c=0,i=2; double sum=0; for(;i<=1000;i++) { if(isPrime(i)) { sum+=i; c++; } } sum=sum/(double)c; printf("1000以内素数的平均值为:%lf",sum); }
相关文章推荐
- C编程—找1000以内的素数
- 第十一周项目六 (4.1)1000以内所有素数
- 第是十一周 项目6-4 1000以内的所有素数
- 输出1000以内所有素数
- 筛选法查找1000以内的素数c++代码实例及运行结果
- 第十一周 项目六:输出1000以内的所有素数
- 输出100以内素数,1000以内完数,以及1000以内有多少个9.
- 输出1000以内的素数,回文数,回文素数,逆素数
- 1000以内所有素数
- 第12周项目7-建立1000以内的素数、回文数、回文素数多文件组织
- 编写一个应用程序求1000以内的全部素数。完数
- 第十一周项目六(四):输出1000以内的所有回文素数
- 第十一周项目6-回文、素数(输出1000以内所有回文素数)
- 第十二周 项目六(4)1000以内的所有回文素数
- 1-11-6 - (5)输出1000以内回文素数
- 第十一项目六——1000以内的素数
- 第一周第三天([算式][九九乘法表][求素数][求1000以内数相加但尾数是三的数跳出不计算][生小兔子问题] [金字塔问题] [求1+3+...+(2^20-1)的值][求1000以内的完全数])
- 请用javascript求出1000以内所有的素数
- 第十一周项目 6 回文,素数(1000以内的素数)
- 调用函数输出1000以内的回文素数。(第十二周上机任务).