1、输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)
a = [i for i in range(2,101)]
b=[]
while a:
b.append(str(a[0]))
a = list(filter(lambda x: x % a[0], a))
print(' '.join(b))
2、有一个list,里面有4个数字,分别是3,6,2,7
这四个数字能组成多少个互不相同且无重复数字的三位数?比如362算一个,326算一个,请逐个输出他们
lst = [3,6,2,7]
number_lst = []
for i in lst:
for j in lst:
for k in lst:
if i != j and i != k and j != k:
number_lst.append(str(i)+str(j)+str(k))
print(len(number_lst))
print(number_lst)
3、打印10000以内的完全平方数
答案:
num = 1
while True:
number = num*num
if number > 10000:
break
print(number)
num += 1
4、打印乘法口诀表
for num in range(1,10):
for j in range(1,num+1):
k=num*j
print("%d*%d=%d" %(num,j,k),end="")
print(" ")
5、输出所有的水仙花数,所谓水仙花数是指一个三位数,各个位上的数的立方相加在一起等于这个三位数
比如153,1的3次方 + 5的三次方 + 3的三次方 等于153
思路分析:
(1)需要遍历100到999的所有数字
(2)逐一判断是否符合水仙花数的规则
(3)需计算出一个三位数的百位数,十位数,个位数
(4)求3的立方,在python里这样写 3**3
答案:
for n in range(100,1000):
i = n / 100 #获取百位数
j = n / 10 % 10 #获取十位数
k = n % 10 #获取个位数
if n == i**3 + j ** 3 + k ** 3:
print(n)
6、计算小球反弹高度:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,
求它在第10次落地时,共经过多少米?第10次反弹多高?
思路分析:
(1)第一次落地时经过的距离是100米,第一次反弹的高度是50米
(2)第二次落地时经过的距离是200米,第二次反弹的高度是25米
答案:
height = 100 # 初始高度
highs = height # 第一次弹起前的距离,初始化
height = height / 2 # 第2次能弹起来的高度
for i in range(2,11):
highs += height * 2 # 第2次弹起来的距离,是弹起高度的来回
height /= 2 # 准备下一次的高度
print(height,highs)
7、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,
又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少?
思路分析:
1)第10天只有一个桃
2)第9天应该有4个桃
3)第8天应该有10个桃
答案:
current = 1
for day in range(9,0,-1):
yestoday = (current+1)*2
current = yestoday
print (yestoday)
网友评论