K数:若正整数n可以分割为二个数(不一定是在中间位分割),而这二个数相加之和的平方恰好等于n,则n为K数。要求:找出100000以内的全部K数。程序输出如下:
收起
当前问题酬金
¥ 0 (可追加 ¥500)
支付方式
扫码支付
支付金额 15 元
提供问题酬金的用户不参与问题酬金结算和分配
支付即为同意 《付费问题酬金结算规则》
可以考虑用字符串切片来做:
for i in range(1,100000): if i**2==i: print(f"{i}=(0+{i})**2") for j in range(1,len(str(i))): a,b = int(str(i)[:j]),int(str(i)[j:]) if (a+b)**2 == i: print(f"{i}=({a}+{b})**2") break
报告相同问题?