原题链接:检查金币
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | while True : try : # 从输入中读取一个6位的正整数,表示金币的总重量 k = int ( input ()) - 265716 # 减去初始值265716以获取实际重量的偏移 for i in range ( 10 ): k, remainder = divmod (k, 3 ) # 通过divmod(k, 3)得到商k和余数remainder # 商k表示当前批次金币的总重量,remainder表示单枚金币的重量偏移 if i < 9 : print ( 9 + remainder, end = " " ) # 如果不是最后一批金币,打印单枚金币的重量并以空格结尾 else : print ( 9 + remainder) # 如果是最后一批金币,打印单枚金币的重量并换行 except EOFError: break |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import itertools # 引入Python标准库中的itertools模块,提供高效的迭代器 while True : try : n = int ( input ()) # 从标准输入中读取一个整数,表示目标和 # 生成一个包含长度为10的数字组合的迭代器,每个数字都在区间[9, 12)内 for combination in itertools.product( range ( 9 , 12 ), repeat = 10 ): # 通过列表解析和enumerate函数计算组合的加权和result # 对组合中的每个数字乘以3的幂,然后求和 result = sum (x * 3 * * i for i, x in enumerate (combination)) # 如果result等于输入值n,则打印该组合 if result = = n: print ( * combination) # 通过解包操作打印组合中的元素 except : break |
9.9 分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复