jingpengzhang

一、编写程序,生成一个包含50个随机整数的列表,然后删除其中所有奇数。

from random import *
ls = []
for i in range(50):
    a = randint(1,1000)
    if (a%2 ==0 ):
        ls.append(a)
print(ls)

二、 "水仙花数"是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个"3位水仙花数",则:A3次方+B3次方+C3次方 = ABC‪‪‪‪‪‫‫‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‪

请按照从小到大的顺序输出所有的3位水仙花数,请用"逗号"分隔输出结果。

from math import floor
result = ""
for i in range(100,1000):
    num = pow((i%10),3) + pow((floor(i/10))%10,3) + pow(floor(i/100),3)
    if (num == i):
        result = result + str(i) + ","
print(result)

三、编写程序,用户从键盘输入小于1000的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。

num = int(input("请输入小于1000的整数:"))
if (num>=1000):
    print("错误!输入的数据不符合规范。")
else:
    i = 2
    result = str(num) + "="
    while True:
        if num == i:
            result += str(num)
            break
        if num%i == 0:
            result += str(i) + "×"
            num = num/i
        else:
            i+=1
    print(result)

四、编写程序,统计第1个9在2的100次方中出现的位置。

(2**100 =1267650600228229401496703205376)

num = pow(2,100)
str_num = str(num)
i = 0
while True:
    if (str_num[i] == "9"):
        position = str(i+1)
        break
    i+=1
print(position)

 

分类:

技术点:

相关文章: