题目描述
令Pi表示第i个素数。现任给两个正整数M <= N <= 10000,请输出PM到PN的所有素数。
输入描述:
输入在一行中给出M和N,其间以空格分隔。
输出描述:
输出从PM到PN的所有素数,每10个数字占1行,其间以空格分隔,但行末不得有多余空格。
输入例子:
5 27
输出例子:
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89
97 101 103
代码:
def is_prime(num): if num == 0 or num == 1: return 0 for i in range(2, num): if num % i != 0: continue else: return 0 break return 1 def prime_list(M, N): l = [] for i in range(10001): if is_prime(i): l.append(i) k = 0 for i in range(M+1, N+1): print(str(l[i]) + ' ', end='') k = k + 1 while k % 10 == 0: print('\n') break print(str(l[N+1])) s = input() l = s.split() M = int(l[0]) N = int(l[1]) prime_list(M, N)
上面代码本地可以运行,但是内存和时间上可能超出限制了,因此提交没有通过。(还有一些细节有误