Python_test10-11

来源:互联网 发布:矩阵分解 matlab 编辑:程序博客网 时间:2024/06/06 16:37

题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

# 方法1:for x in range(1,10):    for y in range(0,10):        for z in range(0,10):            if x*100 + y*10 + z == x**3 + y**3 + z**3:                print(x,y,z)# 方法2:import mathfor i in range(100,1000):    x = math.floor(i/100)    y = math.floor((i-x*100)/10)    # z = i - math.floor(i/10)*10    z = i-x*100-y*10    if i == x**3 + y**3 + z**3:        print(i,end=" ")# 方法3:a = [x**3+y**3+z**3 for x in range(1,10) for y in range(0,10) for z in range(0,10) if x*100+y*10+z == x**3+y**3+z**3]print(a)

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

n = int(input("input number: "))for k in range(2,n+1):    while n != k:        if n % k == 0:            n = n / k            print("%d * %d"%(k,n))        else:            break    k += 1print(n)

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一百泰铢 200泰铢 美元泰铢 泰铢英文 20泰铢 30000泰铢 600泰铢 十万泰铢 6000泰铢 10000泰铢 一泰铢 泰铢符号 50000泰铢 20万泰铢 100万泰铢 60泰铢 泰铢哪里换 700泰铢 250泰铢 如何换泰铢 30泰铢 12000泰铢 100元泰铢 银行泰铢 怎么换泰铢 机场换泰铢 导游换泰铢 4000泰铢 8000泰铢 500泰铢 1000000泰铢 900泰铢 50泰铢 1泰铢 150泰铢 1万泰铢 泰铢比例 180泰铢 2000泰铢 10000泰铢泰国玩5天够吗 1元等于多少泰铢