数因子拆分法
来源:互联网 发布:mac 触摸板 鼠标方向 编辑:程序博客网 时间:2024/04/30 15:24
数因子拆分法
在学习 C/C++ 的过程中,经常要解决一些有趣的数学问题。在这里我献上两种求解整数因子的方法。
一、直接穷举法:
在使用穷举法的时候,我们可以直接从 1 开始,依次加 1 来进行余数与零的比较。代码如下:
int num;printf("Please input an integer:");scanf("%d", &num);for(int i = 1; i <= num; i++){ if(0 == num % i) { printf("%d\n", i); }}这个算法的优点是,我们一眼就看出它是在干什么,可读性强!
但是,这个算法的一个非常明显的特点是就是——效率太低。如果是一个比较小的数,这个算法所用的时间不是太明显;但是如果是一个较大的数,那这时间就非常可观了!
所以,我们有必要找一种更用效率的方法!
二、区间缩进法
其实在第一种方法里,我们使用了一端区间缩进法,就是从左区间开始缩进,推到右区间!很自然,我们会想到一种更好的方法,那就是两端区间缩进法!从左右区间同时开始缩进!算法的实现代码如下:
int num;printf("Please input an integer: ");scanf("%d", &num);int i = 0, j = 0;for(i = 1, j = num / i; i <= j; i++, j = num / i){ if(0 == num % i) { printf("%d %d", i, j); }}这个算法的优点很明显,速度快!但是,代价是一些人在一开始看的时候不是很明白,牺牲的可读性!
0 0
- 数因子拆分法
- 有关某数的因子——分数拆分
- hdu5019(拆分因子)
- 三角数因子数
- 整数因子数
- 整数的因子数
- 求因子数
- 无平方因子数
- 正因子数
- 素因子数GCD
- 无平方因子数
- 无平方因子数
- hdu1492(丑数因子数)
- 数的拆分
- 数的拆分
- 拆分奇偶数
- 母数拆分
- 数的平方和拆分
- 机房收费——活动图
- Genesis-3D学习手册——28.材质与着色器
- 淘宝开源网络框架tbnet之socket
- uvaoj 10055 java版
- Linux操作系统下如何查看硬盘和目录容量
- 数因子拆分法
- 深拷贝、浅拷贝
- [Java] 学习:java设计模式—工厂模式.
- Genesis-3D学习手册——29.场景幕后资源工作流程
- 网络基础知识
- 菜鸟学java web(二)-----tomcat体系结构、server.xml
- 2000个9乘以2000个8
- Objective-C 实现Equality and Hashing
- C++中的单例模式