机试算法讲解:第24题 大水题:谁是素数?
2015-07-31 00:36
246 查看
/* 素数:只能被自身和1整除的大于1的正整数 假设n存在大于等于sqrt(n)的因数y,则z=n/y必同时为n的因数,且其值<=sqrt(n) 关键: 1要将sqrt(n)的值先计算出来,不能放在循环中,这回导致循环多少次就计算多少次平方根 */ #include <stdio.h> #include <stdlib.h> #include <math.h> bool isPrime(int a) { if(a < 1) { return false; } else { int iBound = (int)sqrt(a*1.0); //for(int i = 2 ; i <= sqrt(a) ; i++)//技巧:耗时 for(int i = 2 ; i < iBound ; i++) { if(0== a%i ) { return false; } } return true; } } int main(int argc,char* argv[]) { int iNum; while(EOF!=scanf("%d",&iNum)) { if(isPrime(iNum)) { printf("Yes\n"); } else { printf("NO\n"); } } system("pause"); getchar(); return 0; }
相关文章推荐
- 【HDU2069】【Coin Change】
- 机试算法讲解: 第23题 哦,最小公倍数
- js中java式的类成员
- struts框架中的result
- RedHat Enterprise Linux 6.4使用Centos 6的yum源问题
- objective C程序 无参方法和有参方法声明实现及调用
- 黑马程序员——collection的Set集合
- Spring3.2与Struts2的整合环境
- 一步一步跟着官方文档安装最新Zabbix(2.4.5)一
- SQL注入与编码技术
- 嵌入式操作系统ucos与linux比较
- hdu5323&15年多校集训(3)h题
- 机试算法讲解: 第22题 是你的最大公约数
- POJ 1042 Gone Fishing (DP)
- 并发编程
- 浅谈大脑思维和对未来计算机的设想(3)
- Struts2学习笔记(二)数据驱动与struts.xml配置
- 机试算法讲解: 第21题 再谈进制转换
- 医疗时鲜资讯:互联网+医疗,技术 OR 需求
- springMVC --@RequestParam注解(后台控制器获取参数)