line中的一些题
2021/5/22 18:25:12
本文主要是介绍line中的一些题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
line中的一些题
往年题:
- 逆波兰表达式:https://www.zhihu.com/question/41103160添加链接描述
- 8皇后问题:https://zhuanlan.zhihu.com/p/99209213
- 简单的替换密码:https://iowiki.com/cryptography_with_python/cryptography_with_python_simple_substitution_cipher.html
实习中遇到的一道题:
自己有问题的代码:
import sys def main(argv): # このコードは引数と標準出力を用いたサンプルコードです。 # このコードは好きなように編集・削除してもらって構いません。 # --- # This is a sample code to use arguments and outputs. # Edit and remove this code as you like. argv = [int(i) for i in argv] start = argv[0] end = argv[1] m = argv[2] nums = argv[3:] length = end - start + 1 result = [0]*len(nums) for k in range(len(nums)): k1 = start//nums[k] k2 = end//nums[k] result[k] = k2-k1 return length-loop(m, result, nums, start, end) def loop(m, result, nums, start, end): if m == 1: return max(result) else: m -= 1 list1 = [] for i in range(len(result)): for j in range(i+1, len(result)): a = end//(nums[i]*nums[j]) b = start//(nums[i]*nums[j]) list1.append(result[i] + result[j] - a+b) return loop(m, list1) if __name__ == '__main__': print(main(sys.argv[1:]))
思路:
- 首先,将列表argv的所有值转换为整数
-[start,end]是范围[l,r]
–m是可以选择的数字数量
–nums是列表n,可以选择的数字,单独拿出来方便使用 - 接下来,计算以num为单位的数字范围内的倍数,另存为列表结果
- 定义一个递归函数循环,计算所有可能的组合,然后以列表形式传递,当m为1时,递归结束并输出结果。
- end-start-loop的结果是末尾剩余的数字。
这篇关于line中的一些题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)