令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出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
有一个点运行超时,求大神解答
import math num = map(int, raw_input().split()) i = num[0] arr = [] try_num = 1 k = 0 if num[1] < 2: print 2 else: arr.append(2) while k < num[1]-1: try_num += 2 cnt = 1 b = int(math.ceil(math.sqrt(try_num)))+1 for j in range(2,b): if try_num % j == 0: break elif cnt == b-2: k += 1 arr.append(try_num) else: cnt += 1 del arr[0: num[0]-1] for e in range(len(arr)): if (e+1)%10 == 0: print arr[e] else: print arr[e],
本文介绍了一种算法,用于输出从第M个到第N个素数的所有素数,其中M和N由用户输入,并确保了M小于等于N且N不超过10^4。通过迭代检查每个奇数是否为素数,直到找到足够的素数数量,然后按特定格式输出这些素数。

282

被折叠的 条评论
为什么被折叠?



