C++:罗列出1~100000000的所有雷劈数(算法优化版本)
2016-09-02 17:11
239 查看
了解雷劈数原理,根据定义设计代码,有选择地遍历数据(开方为整数的数据),将符合情况的数据筛选输出.
代码如下:
输出结果:
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!
代码如下:
# include <iostream> # include <math.h> # include <iomanip> using namespace std; void Judge(void) { for (int i = 9; i < 10000; i++) { // 最小的雷劈数是81,所以从9开始遍历 int copy = i*i; // 使用i*i代表雷劈树,可以减少循环次数,且根据定义,雷劈树开方为整数 int count = 0; while (copy) { // 算出数字的位数 copy /= 10; count++; } for (int j = 1; j < count; j++) { // 对数字进行切割比较(左、右) int left, right; left = i*i; right = left % int(pow(10, j)); // 取模得右边部分 left = left / int(pow(10, j)); // 整除得左边部分 if ((left + right)*(left + right) == i*i) { cout << i*i << endl; } } } } int main(void) { Judge(); return 0; }
输出结果:
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!
相关文章推荐
- C++——STL所有算法介绍
- 最速下降优化算法的C++实现
- c++版本的TLD算法的编译调试
- C++实现Kmp字符匹配算法的优化版
- Dijkstra 之最短路径算法(无优化版本) By ACReaper
- 小于1000000的所有完数算法的优化
- C++版本二分算法分析总结
- [C++] 测试硬件popcnt(位1计数)指令与各种软件算法,利用模板实现静态多态优化性能
- 快速排序算法之所有版本的c/c++实现
- A star 寻路算法实现(C++版本)
- 十二之再续:快速排序算法之所有版本的c/c++实现
- 快速排序算法所有版本的c/c++实现
- 十二之再续:快速排序算法之所有版本的c/c++实现
- C++——STL所有算法介绍
- Kmp字符匹配算法优化C++实现
- c++求集合幂集 源代码及算法优化
- 十二之再续:快速排序算法之所有版本的c/c++实现
- C++——STL所有算法介绍
- C++检测windows操作系统.NET所有版本情况
- 如何用O(n)时间复杂度查找第k大数的优化算法 C++程序