python输出任意两个正整数a,b,计算区间【a,b】内的素数个数并输出最后一个素数。如何输出最后一个素数这个问题很困扰我,想请求大家帮助。
a = int(input('a:'))
b = int(input('b:'))
c = []
for num in range(a,b+1):
if num>1:
for i in range(2,num):
if (num%i)==0:
break
else:
c.append(num)
print('素数个数:{},最后一个:{}'.format(len(c),max(c)))
a = int(input('a:'))
b = int(input('b:'))
c = []
for i in range(a, b+1):
count = 0
for n in range(2, i):
if i % n == 0:
count += 1
break
if count == 0:
c.append(i)
print('素数个数:{},最后一个:{}'.format(len(c),c[-1]))
a = int(input('a:'))
b = int(input('b:'))
last=0
num=0
for i in range(a, b + 1):
cnt = 0
if i!=1:
for j in range(2, i):
if i % j == 0:
cnt += 1
else:
cnt+=1
if cnt == 0:
last=i
num+=1
print('素数个数:{},最后一个素数是:{}'.format(num, last))
有两种办法,把所有素数放到一个列表中,然后全部算出来以后,直接取列表末尾的数就可以了,或者用for num in range(b,a,-1):倒着求所有素数,这样第一个就是最后一个