输出素数的代码优化
来源:互联网 发布:数据挖掘工程师培训 编辑:程序博客网 时间:2024/06/04 23:26
输出100到200的素数
#include<stdio.h>int main(){int num = 0;int count = 0;for (num = 100; num <= 200; num++){int number = 0;for (number = 2; number <= num - 1; number++){if (num%number == 0){break;}}if (num == number){printf("%d\n", num);count++;}}printf("count=%d", count);system("pause");return 0;}
</pre><pre class="objc" name="code">对代码进行的优化:根据数学分析,偶数都不是素数,所以只考虑奇数的情况
<pre class="objc" name="code">#include<stdio.h>int main(){int num = 0;int count = 0;for (num = 101; num <= 200; num+=2){int number = 0;for (number = 2; number <= num - 1; number++){if (num%number == 0){break;}}if (num == number){printf("%d\n", num);count++;}}printf("count=%d", count);system("pause");return 0;}
在只考虑奇数的情况下,奇数肯定不能被偶数整除,所以除数也可以只考虑在奇数情况下
#include<stdio.h>int main(){int num = 0;int count = 0;for (num = 101; num <= 200; num+=2){int number = 0;for (number = 3; number <= num - 1; number+=2){if (num%number == 0){break;}}if (num == number){printf("%d\n", num);count++;}}printf("count=%d", count);system("pause");return 0;}
如果一个数能被其他数整除,那么这个数的两个除数中肯定有一个小于等于这个数的开平方数。(16=2*8,16=4*4,)
#include<stdio.h>#include<math.h>int main(){int num = 0;int count = 0;for (num = 101; num <= 200; num+=2){int number = 0;for (number = 3; number <= sqrt(num); number+=2){if (num%number == 0){break;}}if (number > sqrt(num)){printf("%d\n", num);count++;}}printf("count=%d", count);system("pause");return 0;}
1 0
- 输出素数的代码优化
- 输出素数的优化算法
- 素数输出优化
- 求素数的C语言代码优化
- 输出100内的素数(改进优化版)
- c初学100~200的素数输出(部分优化)
- 输出素数的二进制
- 素数的优化求法
- 输出456以内的素数
- 输出指定范围内的素数
- 输出1000以内的素数
- 输出10000所有的素数
- 素数的输出(扩展)
- c关于素数的输出。。
- 输出1-50的素数
- 素数的判断和输出
- 输出100以内的素数
- 输出num以内的素数
- 火狐浏览器怎样设置才能看手机网址
- python 之运维
- HDU 5207 Greatest Greatest Common Divisor
- 0-1背包问题
- 部署项目,报Caused by: java.lang.NoClassDefFoundError: Lorg/hibernate/FlushMode错误
- 输出素数的代码优化
- TCP SOCKET服务器|客户端简单实现
- 算法导论 Exercises 9.3-9
- 你若珍惜
- Shader - Pass (五)
- 第二十三节 蓝牙协议栈之主机通讯
- C语言实现冒泡排序
- 算法导论学习笔记——桶排序
- 给师弟师妹们学习数据挖掘的一些建议