标签:append 相同 add bre rip 输出 元组 排列 size
完美立方
费马大定理断言:当整数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(N<=100),????????????????????????????????????????????????????????????????????????????????????????????????
按照a的值从小到大,每行输出一个完美立方等式,其中b,c,d按照非降序排列输出。若两个完美立方等式中a的值相同,则b的值小的先输出;在b值相等的情况下,c值小的先输出;在b,c都相等的情况下,d值小的先输出。????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????输入输出示例
????????????????????????????????????????????????????????????????????????????????????????????????
输入 | 输出 | |
示例 1 | 24 | Cube = 6,Tripe = (3,4,5) Cube = 12,Tripe = (6,8,10) Cube = 18,Tripe = (2,12,16) Cube = 18,Tripe = (9,12,15) Cube = 19,Tripe = (3,10,18) Cube = 20,Tripe = (7,14,17) Cube = 24,Tripe = (12,16,20) |
n = int(input()) # n范围内的立方数 list_cube = [0] # 用于存储立方数的列表 for i in range(1, n + 1): list_cube.append(i * i * i) for a in range(6, n + 1): for b in range(2, a - 1): if list_cube[a] < (list_cube[b] + list_cube[b + 1] + list_cube[b + 2]): break for c in range(b + 1, a): if list_cube[a] < (list_cube[b] + list_cube[c] + list_cube[c + 1]): break for d in range(c + 1, a): if list_cube[a] == (list_cube[b] + list_cube[c] + list_cube[d]): print("Cube = %d,Tripe = (%d,%d,%d)" % (a, b, c, d))
标签:append 相同 add bre rip 输出 元组 排列 size
原文地址:https://www.cnblogs.com/slj-xt/p/12582336.html