智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=906315a76b5c14231889351088713f76
题目
判断101-200之间有多少个素数,并输出所有素数。
解法1 sqrt函数
程序分析:
1、判断素数的方法:用一个数分别去除2到sqrt(这个数),
2、如果能被整除,则表明此数不是素数,反之是素数。
程序源代码:
from math import sqrt
count = 0
flag = 1
for n in range(101,201):
sqrtn = int(sqrt(n + 1))
for i in range(2,sqrtn + 1):
if n % i == 0:
flag = 0
break
if flag == 1:
print ('%-4d' % n,end=" ")
count += 1
if count % 10 == 0:
print ('')
flag = 1
print ('\n总的素数有:%d 个' % count)
运行结果:
解法2 list
程序分析:
1、判断素数的方法:用一个数分别去除2到这个数小1,
2、如果能被整除,则表明此数不是素数,反之是素数。
程序源代码:
list1 = []
for i in range(101,200):
for j in range(2,i-1):
if i%j ==0:
break
else:
list1.append(i)
print("总的素数有:%d 个" %len(list1))
print("所有的素数如下:",list1)
运行结果:
还有更多其他的解法,欢迎一起交流学习
————————————————
我们的python技术交流群:941108876
智一面的面试题提供python的测试题
使用地址:http://www.gtalent.cn/exam/interview?token=364151fab9fb6e1b468f50b4d83afd42