输出小于N的所有质数(素数)
2013-11-01 10:47
369 查看
输入N
输出小于N的所有质数
思路要点:
1.除了2以外所有质数都是奇数,所以搜索N时,从3开始每次i+=2,可以少比较一半
2.偶数的乘积一定是偶数,所以在搜索因数时,从3开始,每次i+=2又可以减少一半比较次数
3.在求x是否为质数时,i*i>x时即可退出循环,再次减少比较次数
输出小于N的所有质数
思路要点:
1.除了2以外所有质数都是奇数,所以搜索N时,从3开始每次i+=2,可以少比较一半
2.偶数的乘积一定是偶数,所以在搜索因数时,从3开始,每次i+=2又可以减少一半比较次数
3.在求x是否为质数时,i*i>x时即可退出循环,再次减少比较次数
#include<stdio.h> bool prime(int x) { int i; for(i=3;i*i<x;i+=2) if(x%i==0) return FALSE; return TRUE; } void main() { int n,i,j; printf("n="); scanf("%d",&n); printf("小于等于%d的质数\n",n); if(n>2) { printf("%4d",2); j++; } for(i=3;i<=n;i+=2) if(prime(i)) { printf("%4d",i);//打印4位便于对齐 if(j!=0 && ++j%10==0)//每行输出10个 printf("\n"); } printf("\n"); }
相关文章推荐
- 输入任意一个大于2的正整数n,输出所有小于等于n的素数
- 输出所有小于等于n(n为一个大于2的正整数)的素数
- 写一个程序输入一个数,输出小于这个数的所有素数
- 输出200以内所有素数(质数),5个一换行
- 习题:输出1-100之间的所有质数(素数)
- 输出所有不小于N的素数(一)
- 输出所有不小于N的素数(二)
- 判断101-200之间有多少个素数(又称质数(prime number)),并输出所有素数。
- 输出小于某个数的所有回文素数
- 运行程序如下:程序实现的是输出不小于n的所有素数;10个一行
- 输出小于n的所有素数
- 输出所有小于等于n的素数(要求1)每行输出10个(要求2)较优的算法
- 创建独立线程来输出小于或等于用户输入数的所有素数
- c语言 输出所有小于n(n>=2正整数)的素数
- 输出100之间的所有质数(素数)
- c++:输出小于1000的所有孪生素数
- 题目:判断101-200之间有多少个素数,并输出所有素数。
- c# 计算1-100之间的所有质数(素数)的和
- 打印小于N的所有素数(埃拉托色尼筛法)
- 设计一个函数,输出整数n的所有素数因子