很有深度的一问,来一起看看

本题要求显示给定整数M和N区间内素数并对它们求和。

输入格式:
在一行输入两个正整数M和N(1≤M≤N≤1000)。

输出格式:
显示指定范围的素数,素数间空一格,每五个换一行。 单独一行输出素数的个数及素数的和。

输入样例:
在这里给出一组输入。例如:

4 30
结尾无空行
输出样例:
在这里给出相应的输出。例如:

5 7 11 13 17
19 23 29
amount=8 sum=124

def isPrime(n):
    if n<2:
        return False
    for i in range(2,n):
        if n%i==0:
            return False
    return True
m,n=map(int,input().split())
cnt=0
s=0
for i in range(m,n+1):
    if(isPrime(i)):
        print(i,end=' ')
        s+=i
        cnt+=1
        if cnt%5==0:
            print()
print('\namount={} sum={}'.format(cnt,s))
a = {}
sum = 0
ans = 0
count = 0
for i in range(4,30):
    if (i < 2):
        continue
    for j in range(2, i//2 + 1):
        if (i % j == 0):
            ans = 1
            break
    if (ans == 0):
        #print("%d" %i)
        a[count] = i;
        count += 1
        sum += i
    ans = 0
for i in range(0,count):
    if ((i + 1) % 5 == 0):
        print(a[i])
    elif (i == count - 1):
        print(a[i])
    else:
        print(a[i], end=' ')
print("amount=%d" %count, end=' ')
print("sum=%d" %sum)
        

img