C++:罗列出1~100000000的所有雷劈数(算法优化版本)
来源:互联网 发布:网络机顶盒还是网络app 编辑:程序博客网 时间:2024/06/10 17:31
了解雷劈数原理,根据定义设计代码,有选择地遍历数据(开方为整数的数据),将符合情况的数据筛选输出.
代码如下:
# 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;}
输出结果:
以上内容皆为本人观点,欢迎大家提出批评和指导,我们一起探讨!
0 0
- C++:罗列出1~100000000的所有雷劈数(算法优化版本)
- 罗列出一年的星期数
- [算法]打印出所有的“水仙花数”
- 雷劈数,奇怪的数字
- 表情框,自动生成缩略图,JTabbePane分组罗列出所有的表情
- 找到并罗列出SQL Server中具有默认值的所有字段
- 找到并罗列出SQL Server中具有默认值的所有字段
- 找雷劈数
- C++找雷劈数
- 雷劈数&幻方
- 小于1000000的所有完数算法的优化
- 被雷劈到的感悟1
- 控制台打印出所有的“水仙花数”
- 打印出所有的“水仙花数”
- 打印出所有的“水仙花数”
- 打印出所有的"水仙花数"
- //打印出所有的“水仙花数”.
- 打印出所有的“水仙花数”
- 回顾自己搭建nginx +fatsdfs分布式文件系统的过程,希望对有需要的人有帮助
- C++相关
- LeetCode Find the Difference
- 51nod 1267【二分】
- 5.Java基础:IO流----->总的分析
- C++:罗列出1~100000000的所有雷劈数(算法优化版本)
- js-function()
- 【LeetCode-383】Ransom Note(C++)
- MyBatis Generator
- 百度SDK集成一些小问题
- Erlang发送HTTP请求(Get,Post)
- 如何快速的解决Maven依赖冲突
- 【LeetCode】169. Majority Element Majority Element Given an array of size n, find the majority eleme
- thinkphp3.2版本的cli模式 实现定时任务 curl