解题思路:
注意事项:
参考代码:
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语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复