【求水仙花数】的算法实现
2013-05-16 13:51
204 查看
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
以下为代码:
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方
以下为代码:
#include <iostream> using namespace std; #define CUBIC(X) ((X) * (X) * (X)) #define CUBICSUM(A, X, Y, Z) ((A[X]) + (A[Y]) + (A[Z])) #define SUM(X, Y, Z) (100 * (X) + 10 * (Y) + (Z)) int main(void) { int a[10]; for (int i = 0; i < 10; i ++) a[i] = CUBIC(i); int i, j, k; for(int n = 100; n < 1000; n ++){ i = n / 100; j = n % 100 / 10; k = n % 10; if(CUBICSUM(a, i, j, k) == SUM(i, j, k)) cout<<n<<endl; } return 0; }
相关文章推荐
- 循环冗余校验CRC的算法分析和程序实现[转]
- DFA算法实现过滤多家公司自定义敏感字
- FFT算法的实现_2
- 内存动态分配的首先适应、最优适应、最坏适应算法的实现(java 版)
- 背包问题算法的JAVA实现
- 最短路径(Dijkstra)算法 之 .Net 4.0 Parallel 实现
- 第 2 章 第 3 题 数组旋转问题 翻转算法实现
- cache FIFO, LFU 算法 讨论与实现
- 一步一步写算法(自己实现strcpy函数)
- 算法兴趣----- 一亿数据获取前100个最大值(仅供参考,基于快速排序的实现时间不稳定,基于最小堆实现。如果我们只要求前K个最大(小)值的时候,用堆是最好的选择,因为这里不用每次都排序了)
- 【算法】C语言实现数组的动态分配
- 图像处理常用算法GPU实现三:基于模板匹配的边缘检测
- Trie树实现多模匹配算法的进一步优化
- 算法与数据结构基础3:C++单链表类的简单实现
- 经典算法学习——求次方函数实现
- Top K算法问题的实现
- 算法与数据结构--实现线性表的合并操作(合并后按非递减排列)
- PhotoShop算法实现--色彩通道(九)
- 算法:Python中的斐波那契数列实现
- 机器学习之深入理解K-means、与KNN算法区别及其代码实现