素数判定
来源:互联网 发布:网络恶意攻击怎么报警 编辑:程序博客网 时间:2024/04/28 11:30
素数判定
素数的定义是只能被1和他本身整除,1不是素数,需要单独判断。.因此要判断一个数是否为素数.就要判断它能不能被比他小的数整除,这是一个算法.(运算速度低下)
算法改进:.要判断一个数是否为素数,只要判断比它开根号后的数小的数,能否把它整除.
算法改进:.要判断一个数是否为素数,只要判断比它开根号后的数小的数,能否把它整除.
这一点可以用反证法来证明: 如果N是合数,则一定存在大于1小于N的整数d1和d2,使得N=d1×d2。 如果d1和d2均大于√N,则有:N=d1×d2>√N×√N=N。 而这是不可能的,所以,d1和d2中必有一个小于或等于√N。
由此可以得到一个较快的素数判断算法.
源代码:
#include <stdio.h>#include<math.h> int fun(int a){int i;float n; n=sqrt((float)a); for(i=2;i<=n;i++) { if(a%i==0) break;} if(i>n) return 1;//是素数 返回 1 else return 0;//不是素数返回 0 }int main(){ int a,t; while(scanf("%d",&a),a) { t=fun(a); if(a==1)//对 1 单独判断 t=0; if(t==1) printf("YES\n"); if(t==0) printf("NO\n");} return 0;}
0 0
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定
- 素数判定!
- 素数判定
- 素数判定
- 素数判定
- Doxygen简单经验谈。。。
- ZOJ Problem Set - 1712||Skew Binary
- HTML5 语法
- Linux下C编程的调试 +编译器小结
- Linux netstat命令详解
- 素数判定
- The MAX
- import的资料0
- 最新CSDN博客积分规则和获取积分方法【官方的说明】
- 正则表达式,Java反射相关
- android学习笔记(七)——数据共享
- getApplicationContext和Activity.this两种上下文的区别
- leetcode 20 Valid Parentheses 括号匹配
- 代理太平保险,有需求联系温仁胜 电话:15208244596