筛选求素数和普通求法(C/python略)
来源:互联网 发布:mac没有创建win7安装盘 编辑:程序博客网 时间:2024/05/16 13:42
素数:除了自身之外,无法被其它整数整除的数称之为素数
C代码(普通)
#include<stdio.h>#include<stdlib.h>#include<math.h>#define N 100//普通方法int main(){ int i, j; for (i = 2; i < N; i++) { for (j = 2; j <= sqrt(i); j++) { if (i%j == 0) { break; } } if (j > sqrt(i)) { printf("%d\n", i); } } //return 0; system("pause");}
筛选法
#include<stdio.h>#include<stdlib.h>#include<math.h>#define N 100//筛选求质数//具体筛法是:先把n个自然数按次序排列起来。//1不是质数,也不是合数,要划去。//第二个数2是质数留下来,而把2后面所有能被2整除的数都划去。//2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。//3后面第一个没划去的数是5,把5留下,再把5后面所有能被5整除的数都划去。//这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。int main(){ int num=0; int flag[N+1]; int i, j; for (i = 2; i <= N; i++) { flag[i] = 1;//初始化,表明此时没有数划去 } for (i = 2; i*i <= N; i++) { if (flag[i] == 1) { for (j = 2; i*j <= N; j++) { flag[i*j] = 0; //把i的倍数划去 } } } for (i = 0; i <= N; i++) { if (flag[i] == 1) { printf("%4d", i); num++; if (num % 10 == 0) { printf("\n"); } } } printf("\n"); system("pause");}
阅读全文
0 0
- 筛选求素数和普通求法(C/python略)
- 求素数(普通+筛选)
- 【算法】普通方法和筛选法求素数
- Python和C++求10000以内的所有素数(Eratosthenes筛选 求素数)
- 素数筛选 求素数和
- 素数筛选之“普通筛选”和“线性筛选”
- 素数筛选法(普通筛和线性筛)
- 素数筛(筛选法求素数)
- c 筛选法求素数【修改】
- c之筛选法求素数
- c语言筛选法求素数
- 筛选法求素数(数组和BitSet分别存储)
- 求集合问题(并查集+筛选求素数/C++)
- (转)筛选法求素数
- Prime Distance(筛选法求素数 )
- 筛选法求质数(素数)
- 筛选法求素数(三种)
- 筛选法求素数
- MongoDB的安装与连接
- mybatis 批量更新 不需要设置数据库配置文件方式
- shell脚本-awk使用
- Cognos服务启动过程
- HDU 1059:Dividing
- 筛选求素数和普通求法(C/python略)
- 第十一周项目1图基本算法库
- mysql 主备
- hive中的分析函数的典型应用
- 双重while循环实现打印数字11-99
- iLnkView隐私政策
- linux用户管理
- rpath和runpath的区别
- Magento获取商品CategoryIds