解题思路:
注意事项:
参考代码:
def is_good_number(num):
k = 1#初始化变量k为1,用于跟踪当前数字的位数 (这里从右边开始,第一位是奇数)
while num:#使用while循环遍历数字的每一位,直到数字为0
t = num % 10#获取数字num的最后一位(个位)
if k % 2 == 1:
# 检查当前位是否是奇数位(从低位到高位,第一位是奇数位)
if t % 2 == 0:
return False#如果奇数位上的数字是偶数,则这个数字不是“好数”,函数返回False
else:
# 如果当前位是偶数位
if t % 2 != 0:
return False #如果偶数位上的数字是奇数,则这个数字不是“好数”
num //= 10 # 移除数字num的最后一位,准备检查下一位
k += 1#更新变量k,准备检查下一位。
#上面是将所有不符合好数条件的结果列举出来
return True#如果所有位都满足条件,返回True。
n = int(input())
count = 0
for i in range(1, n + 1):
if is_good_number(i):#使用is_good_number函数检查当前数字i是否是好数
count += 1
print(count)
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:634 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:658 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:760 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:565 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:585 |
模拟计算器 (C++代码)浏览:885 |
图形输出 (C语言代码)浏览:1422 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1457 |
【计算两点间的距离】 (C语言代码)浏览:875 |
1415题求解浏览:681 |