K数:若正整数n可以分割为二个数(不一定是在中间位分割),而这二个数相加之和的平方恰好等于n,则n为K数。
要求:找出100000以内的全部K数。程序输出如下:
我只会用这种方法,自己手动排列组合😭
出来的效果带空格,与要求的形式略有不同😭
K数:若正整数n可以分割为二个数(不一定是在中间位分割),而这二个数相加之和的平方恰好等于n,则n为K数。
要求:找出100000以内的全部K数。程序输出如下:
收起
for i in range(1,10):
if i**2 == i:
print(f"{i}=(0+{int(i)})**2")
for i in range(11,100001):
n = len(str(i))
tab = True
j = 0
while tab and j<n:
a = int(i/(10**j))
b = i%(10**j)
if i == (a+b)**2:
print(f"{i}=({a}+{b})**2")
tab = False
else:
j += 1
有用的话 点下采纳支持一下 谢谢
报告相同问题?