挑战
有许多数字可以表示为两个平方的差,两个立方体的差,甚至更高的幂。关于平方,有两种写数字的方法,例如75,等于2个平方的差。你可以写:
75 = (10)^2 - (5)^2
= (14)^2 - (11)^2
= (38)^2 - (37)^2
因此,让我们谈谈挑战。首先,用户输入数字,然后输入n的值。您需要以aⁿ-bⁿ的形式显示该数字的所有写入方式。
输入输出
输入将是数字和n的值。您的输出应具有所有这样的“ a”和“ b”对,从而满足上述条件。该对中的第一个数字必须大于第二个。请注意,a,b,n和输入数字均为正整数,并且n> 1。
例子
50, 2 -> (none)
32, 2 -> (9,7), (6, 2)
7, 3 -> (2,1)
665, 6 -> (3, 2)
81, 4 -> (none)
计分
这是代码高尔夫球,因此最短的代码获胜!
==
UniHaskell中的等号有点令人困惑,因为它表示数学上的全等。