python 顺序输出元素数位上各个数字的平方和大于元素本身的数(蓝桥杯)

题目要求:

对于整数区间[N,M],已知:
输入说明:两个整数N和M。
输出说明:顺序输出元素数位上各个数字的平方和大于元素本身的数。
输入样例:21 25
输出样例:25
说明:例如22的数位数字为2,2,这两个数字的平方和为8,小于22,
不满足筛选条件所以不输出;25的数位数字为2,5,这两个数字平方和为29,
大于25,满足筛选条件,所以将25输出。

代码图

代码图

代码如下
'''
对于整数区间[N,M],已知:
输入说明:两个整数N和M。
输出说明:顺序输出元素数位上各个数字的平方和大于元素本身的数。
输入样例:21 25
输出样例:25
说明:例如22的数位数字为2,2,这两个数字的平方和为8,小于22,
不满足筛选条件所以不输出;25的数位数字为2,5,这两个数字平方和为29,
大于25,满足筛选条件,所以将25输出。
'''
def main():
    N,M=input('输入M和N:').split(' ')
    if int(M)<int(N):#如果用户输N,M范围不合要求,进行调整
        S=M
        M=N
        N=S
    for num in range(int(N),int(M)+1):#遍历N到M的所有数值
        result=0#收集元素数位上各个数字的平方和
        for i in str(num):
            result=result+int(i)**2
        if result>int(num):#判断是否大于元素本身的数,如果是输出
            print(num)     
main()
运行效果图

运行效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值