1 立方尾不变
描述
有些数字的立方的末尾正好是该数字本身,比如1(立方是1)、4(立方是64)、5(立方是125),还有6、9、24、25
…。题目输入一个N(已保证1<=N<=10000),请计算输出1到N之间所有的立方尾不变数及个数。
输入格式
输入为一行,是一个大于等于1小于等于10000的正整数N。
输出格式
输出为两行:第一行是以空格分开的一些立方尾不变数,这些数处于[1,N]区间内(每个数字末尾有一个空格);第二行是一个整数,为[1,N]区间内立方尾不变数字的个数。
【代码】
j=0
n=int(input())
for i in range(1,n+1):
x=i*i*i
s=str(x)
if(i<10):
c=int(s[-1])
if(c==i):
j=j+1
print(i,end=' ')
continue
if(i<100):
c=int(s[-2:])
if(c==i):
j=j+1
print(i,end=' ')
continue
if(i<1000):
c=int(s[-3:])
if(c==i):
j=j+1
print(i,end=' ')
continue
if(i<10000):
c=int(s[-4:])
if(c==i):
j=j+1
print(i,end=' ')
continue
print()
print(j)
2.二分法求平方根
描述
设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt_binary(n),计算精度控制在计算结果的平方与输入的误差不大于1e-6。