想了想其他的太简单了,还是不放了,剩三题吧。
一、完美立方
编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a^3= b^3 + c^3 + d^3,其中a,b,c,d 大于 1, 小于等于N。
输入一个正整数N (N≤100),输出 每行输出一个完美立方。输出格式为: Cube = a, Triple = (b,c,d) 其中a,b,c,d所在位置分别用实际求出四元组值代入。
请按照a的值,从小到大依次输出。当两个完美立方 等式中a的值相同,则b值小的优先输出,仍相同则c值小的优先输出,再相同则d值小的先输出。
n = int(input())
cube = [0]
for i in range(2, n+1):
cube.append(i**3)
for a in range(3,n):
for b in range(0,a-2):
if cube[a] < (cube[b] + cube[b+1] + cube[b+2]):
break
for c in range(b+1,a-1):
if cube[a] < (cube[b] + cube[c] + cube[c+1]):
break
for d in range(c+1,a):
if cube[a] == (cube[b] + cube[c] + cube[d]):
print("Cube = %d,Tripe = (%d,%d,%d)" %(a+1,b+1,c+1,d+1))
</