原题链接:求特殊自然数
# 定义函数 decimal_to_base,用于将十进制数转换为指定基数的字符串表示 def decimal_to_base(n, base): # 如果输入的数是0,则直接返回字符串"0" if n == 0: return "0" # 初始化一个空列表,用于存储余数 digits = [] # 当输入的数大于0时,执行循环 while n > 0: # 计算当前数对基数的余数 remainder = n % base # 将余数转换为字符串并添加到列表中 digits.append(str(remainder)) # 使用整除操作去除当前数的最高位 n //= base # 将余数列表反转并连接成字符串,得到转换后的基数表示 return "".join(digits[::-1]) # 遍历100到999之间的所有数 for num in range(100, 1000): # 将当前数转换为七进制字符串表示 base7 = decimal_to_base(num, 7) # 将当前数转换为九进制字符串表示 base9 = decimal_to_base(num, 9) # 检查转换后的七进制和九进制字符串长度是否都为3 if len(base7) == 3 and len(base9) == 3: # 检查七进制字符串是否等于九进制字符串的反转 if base7 == base9[::-1]: # 如果满足条件,打印十进制数 print(num) # 打印对应的七进制表示 print(base7) # 打印对应的九进制表示 print(base9) # 找到满足条件的数后,退出循环 break
写了很多遍才满分,最好不要用数学的思维去做这道题,用计算机思维思考并解决问题才是程序员的本
思路全部写到代码中了
respect~
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复