习题解析之:完美立方数
【问题描述】
费马大定理断言,当整数 n > 2时,关于 a,b,c 的方程an = bn + cn 没有正整数解。 该定理被提出来后,历经三百多年,经历多人猜想辩证,最终在 1995 年被英国数学家安德鲁.怀尔斯证明。
不过,可以找到大于 1 的 4 个整数满足完美立方等式:
a3 = b3 + c3 + d3
(例如 123= 63 + 83 + 103)
编写一个程序,对于任意给定的正整数 N(N<=100),寻找所有的四元组(a,b,c,d),满足
a3 = b3 + c3 + d3 (其中 1 < a,b,c,d <=N)
输入格式
整数 N(1 < N <= 100)
输出格式
按照 a 的值从小到大,每行输出一个完美立方等式,其中b,c,d按照非降序排列输出。
(若两个完美立方式中 a 值相同,则 b 值小的先输出;在 b 值相等的情况下,c 值小的先输出,在 b,c 都相等的情况下,d 值小的先输出。)
示例
输入:
24
输出:
Cube = 6,Triple = (3,4,5)
Cube = 12,Triple = (6,8,10)
Cube = 18,Triple = (2,12,16)
Cube = 18,Triple = (9,12,15)
Cube = 19,Triple = (3,10,18)
Cube = 20,Triple = (7,14,17)
Cube = 24,Triple = (12,16,20)
【编程思路】
用 4 重循环对 a、b、c、d的取值组合进行穷举。
其中,3 <= a <= n,2 <= b < a,b <= c < a,c <= d < a。这样穷举可以保证 b,c,d按照非降序排列输出。
编写的源程序如下:

浙公网安备 33010602011771号