Python大贤者福尔魔法数

大贤者福尔最近迷上了数学,他研究发现有些神奇的数似乎具有某种魔力。于是他开始研究自然数,发现某个范围内的一些数,经过一定规则运算后的和,等于另一个数按同样规则计算后的值。具体来说,给定不大于N的整数a,b,c,d(1≤a≤b≤c≤d≤N),可能存在关系ax +bx +cx =dx

福尔想知道在给定的范围N中,有多少数能够满足这种关系?

输入

输入数据有若干行,每行包括两个整数x,N,(2≤x≤3,1≤N≤100。

输出

对每组测试数据,先输出样例编号Case c:,c为当前测试样例的组号,从1开始。随后按照a,b,c的自然序依次输出结果。若不存在满足条件的数,则输出No such numbers.。

示例输入

3 4
3 6

示例输出

Case 1: No such numbers.
Case 2: 33+43+53=63

Python:

def arr(i):
    return i ** x
x, N= map(int, input().split())
c = 0
while x:
    try:
        c += 1
        print("Case ",c,":",sep="",end=" ")
        flag = False
        for i in range(1, N + 1):
            for j in range(i, N + 1):
                for k in range(j, N + 1):
                    sum = arr(i) + arr(j) + arr(k)
                    for t in range(k + 1, N + 1):
                        if sum == arr(t):
                            flag = True
                            print("{}^{}+{}^{}+{}^{}={}^{}".format(i, x, j, x, k, x, t, x))
                            break
        if not flag:
            print("No such numbers.")
        x, N = map(int, input().split())
    except:
        break

你可能感兴趣的:(Pyhton程序设计,python,java,算法,数据结构)