最近在忙着小论文的构思,几个练习题且当放松
6——打印99乘法表
基础题,for循环+print的参数修改
for cow in range(1,10):
for col in range(1,cow+1):
print("%s*%s=%s" % (cow,col,cow*col),end=" ")
print("")
7——有一对兔子,从出生后第三个月起每个月都出生一对小兔子,小兔子长到3个月大后每个月又生出一对兔子,假如兔子都不死,问每个月的兔子总数是多少?
思路:斐波那契数列:1 1 2 3 5 8 13......
a,b = 0,1
for i in range(1,13):#12个月的
print('第%s个月:%s对兔子' % (i, b))
a,b = b,a+b
#斐波那契要牢牢记住,常规循环以及递归算法
8——判断101~200之间有多少素数,并输出所有素数
list = []
for i in range(101,201):
for j in range(2,i):
if i%j == 0:
break #不是素数跳出,进行下一次j的循环
else: #体会一下这个else的要点
list.append(i)
print(list)
#引出一个素数判断思路:对于正整数n,如果用到2到n**0.5之间的所有整数去除,均无法整除,则n为质数
#下面的为判断一个数是不是素数
import math
def is_prime(n):
if n == 1:
return False
for i in range(2,int(math.sqrt(n)+1)):
if n % i == 0:
return False
return True
print(is_prime(3))
9——打印水仙花数,如153=1**3+5**3+3**3
记忆深刻的在本科期间,c语言课上上机写过
for i in range(100,1000):
m = i//100 #取百位
n = i//10%10 #取十位
k = i%10 #取个位
if i == m**3 + n**3 + k**3: #判断
print(i)
10——将一个正整数分解质因数。例:90=2*3*3*5
思路:输入一个整数,要求分解为质因数,首先是因数,再者这个因数为质数。最小的质数为2,1是因数但不是质数,所以2是最小的质因数。
n = int(input("请输入一个正整数:"))
lst = []
while n > 1:
for i in range(2,n+1):
if n%i == 0:
n = n//i
lst.append(i)
break
print("分解的质因数为:{0}".format(lst))
如有错误,欢迎指正!