count = 0
for num in range(101,201):
isprime = True # 取出一个数,就假定它是素数,然后再验证假设是否正确
for x in range(2,num):
if num % x ==0: # 如果 num 能够被(2,num)中的任意个数整除,说明假设是错误的,终止
isprime = False
break
count += 1
if isprime == True: # 循环结束之后,找出是素数的
print(num,‘是素数’)
print(‘素数的个数:’,count)
2. 求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34, 55…
规律: 从第三个数开始,后面每个数结果都是前两个数的和 ;如果想知道第三位数是什么,需要知道第1、2位数什么
n = int(input(‘你想知道第几个数的值:’))
当前的数:current = s1+s2
s1 = 1
s2 = 1
i = 3 # 位数的起始值是3,假设前两位都知道了:s1,s2=1
for i in range(3,n+1):
# 根据前两个数的值,求出当前数的值
current = s1+s2
# 挪一次,为下次循环求下个值
s1,s2 = s2,current
print(current)
3. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列列的第20个分数
规律:后面的分数的分母 == 前一个分数的分子 后面的分数的分子 = 前一个分数的分母 + 分子
n = 20
fen_zi = 2
fen_mu = 1
for i in range(2,n+1):
fen_zi,fen_mu = fen_mu+fen_zi,fen_zi
print(fen_zi,‘/’,fen_mu)
4.打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3
for num in range(100,1000): # 从所有三位数中依次取出一个数
gei_wei = num % 10 # 算出这个三位数的个位、十位、百位数分别是什么
shi_wei = num // 10 % 10
bai_wei = num // 100
if gei_wei **3 + shi_wei**3 + bai_wei **3 == num: # 如果num满足水仙数的条件,就打印出来
print(num)
#5.给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数字
规律: 一个整数是几位数,就看这个数整除1