题目要求:
对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:
f(13) = 12 + 32 = 10
f(207) = 22 + 02 + 72 = 53
下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,
且k*f(n)=n
输入:
第一行包含3个正整数k,a, b, k>=1, a,b<=10
18, a<=b;
输出:
输出对应的答案;
范例:
输入: 51 5000 10000
输出: 3
代码编译:

def f(n):
    n = str(n)#先把数字转化为字符串
    # print(n)
    sum =0
    for item in n:
        sum +=int(item)**2 #将字符串类型转化为整型进行计算
    return sum
print(f(13))
print(f(207))
#进行判断是否满足条件
def isok(k,n):
    if k*f(n)==n:
        return True
    else:
        return False
def main(k,a,b):
    count = 0
    for i in range(a,b+1):
        if isok(k,i):
            count +=1
    print(count)
main(51,5000,10000)

测试运行;
函数练习—平方等式

相关文章:

  • 2021-06-23
  • 2021-11-15
  • 2021-11-26
  • 2021-10-11
  • 2021-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-04-09
  • 2022-12-23
  • 2021-06-19
相关资源
相似解决方案