python编程刷题积累
目录:
1、在牛客上练习时,有时用input()会报错
arr=[] while 1: s=input() if s !="" : arr.append(list(map(int,s.split()))) else: break for it in arr: print(it[0]+it[1]) 有时使用以上代码它会包错误(与input()有关),但在pycharm 和 赛码 中确不会报错 ????
改成下面的就不报错 arr=[] while 1: try: arr.append(list(map(int,input().split()))) except: break for it in arr: print(it[0]+it[1])
2、求一个数的所有质数因子
试例代码:
while True: num_in = int(input()) i = 2 while (i * i <= num_in): # 只需要计算到平方根的位置即可,需要知道这个前提 while (num_in % i == 0 and num_in != 0): # 正常的遍历每个整数,看看能不能整除,能整除的话要除到当前数不能再整除 print(i, end=' ') num_in = int(num_in / i) i += 1 if (num_in >= 2): # 剩下的质数要打出来,要大于2(用例:25) print(num_in) break #一个数的质因数,一定 >=2且 <= 该数的开方,即 a 的质因数 b : 2<= b <= 根号a #而该数a的质因数b即 : 若有b能被a 整除,则尝试将b一直整除到不能再整除,即最后的数的因子只有1和它本身;则所得的数字,即为a的质因数 #若是在整除的过程中,有不能被整除的,则丢弃;寻找其他符合条件的b; #然后 以 a/b所得的数代替a,重复上述过程。直至最后的数的因子,只余1和其本身 ''' 如 180 : 其质因数在范围 [2,根号180] 从2开始,180能整除2,且2也能被一直整除; --> 2 此时 以180/2=90重复以上过程: 从2开始,90能整除2,且2也能被一直整除; --> 2 此时 以90/2=45重复以上过程: 从2开始,45能整除3,且3也能被一直整除; --> 3 此时 以45/3=15重复以上过程: 从2开始,15能整除3,且3也能被一直整除; --> 3 此时 以15/3=5重复以上过程: 从2开始,5只能整除5;即它只有1和5两个因子 --> 5 '''
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~