立方尾不变-Python
有些数字的立方的末尾正好是该数字本身,比如1(立方是1)、4(立方是64)、5(立方是125),还有6、9、24、25 ......。题目输入一个N(已保证1<=N<=10000),请计算输出1到N之间所有的立方尾不变数及个数。
输入格式
输入为一行,是一个大于等于1小于等于10000的正整数N。
输出格式
输出为两行:第一行是以空格分开的一些立方尾不变数
这些数处于[1,N]区间内(每个数字末尾有一个空格);
第二行是一个整数,为[1,N]区间内立方尾不变数字的个数。
输入输出示例
输入 输出
示例1 1
1
1
示例2 48
1 4 5 6 9 24 25
7
算法:通过fx(x)
def fx(x):#求出x的大致范围,例如x=6,则返回10**1
i=0#i表示x的位数
while(x>0):
if x<10:
i+=1
x=x//10
else:
x=x//10
i+=1
return 10**i
temp=0
N=int(input())
for m in range(1,N+1):
#判断是否为立方尾数
if m**3//fx(m)*fx(m)+m==m**3:
print(m,end=" ")
temp+=1
print()
print(temp)