#找到[1,1000]里的所有素数
为了找出[1,1000]内的所有素数,我用范围内的数除以小于它的且大于1的数,通过判断有无余数来确定是否为素数。
于是
for i in range (1,1000):
if i>1:
for a in range (2,i):
if (i%a)==0:
break
else:
print(i)
运行结果
但是发现结果出现很多重复的数字,也没有把素数筛选出来,后来发现for else和if else还是有很大区别的,于是改了一下
for i in range (1,1000):
if i>1:
for a in range (2,i):
if (i%a)==0:
break
else:
print(i)
成功运行啦
完成之后觉得这段代码可以把任意范围内所有素数都挑选出来,于是做了一点点小优化
min=int(input('输入范围下限'))
max=int(input('输入范围上限'))
for i in range(min,max+1):
if i > 1:
for a in range(2,i):
if (i % a) == 0:
break
else:
print(i)
运行结果
#判断[0,3,2,1]是否为山脉数值
放上一段代码
a=0
b=3
c=2
d=1
if a<b and b<c and c>d:
print('此数组为山脉数组')
elif a<b and b>c and c>d:
print('此数组为山脉数组')
else:
print('此数组不是山脉数组')
仅仅解决这个数组是否为山脉数组还是比较简单的,但是缺陷也比较明显,无法判断其他数组的是否为山脉数组,试了好几种都没办法解决,就留给师兄师姐来解答吧TT