##python算法题:输出2~100之间的素数
i=2
j=2
##除了1和其本身,其他都不能整除
for j in range(2,101):
for i in range(2,j):
if j%i==0:
break;
elif (j-1)==i:
print ('{}是素数'format(j))
例如:
k = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31]
for i in range(100, 998):
if (i % 10 + i % 100 // 10) % 10 == (i // 100):
for m in k:
if i % m == 0:
break
if m ==31:
print(i)
扩展资料:
Python在执行时,首先会将py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。这种机制的基本思想跟Java,NET是一致的。
Python Virtual Machine与Java或NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。这里的高级并不是通常意义上的高级,不是说Python的Virtual Machine比Java或NET的功能更强大,而是说和Java 或NET相比,Python的Virtual Machine距离真实机器的距离更远。
参考资料来源:百度百科-Python
def is_prime(n): for i in xrange(2,n/2): if n%i==0:return False return True#print all primes before Nfor i in xrange(3,N): if is_prime(i): print i,print上面这个程序是否满足你的要求?# 输出200以内的最大素数
for n in range(199,100,-2):
for i in range(3,int(n(1/2))+1,2):
if n % i == 0:
break
else:
print(f'200以内最大素数是{n}')
break
程序缩进如图所示
1先了解素数的定义,素数即质数,在大于1的自然数中,除了1本身及它本身以外不再有其他因数的数
2假设取num为6,i为3,6除以3的余数为0,有因数,条件成立,执行break即跳出循环
3反之,取num为7,i为3,7除以3的余数不为0,条件不成立,直接打印7
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)