#18439: 解法介紹


bryan931218@gmail.com (游翔宇)

學校 : 國立宜蘭高級中學
編號 : 98903
來源 : [140.113.121.154]
最後登入時間 :
2024-09-03 19:11:45
a010. 因數分解 | From: [111.71.120.242] | 發表日期 : 2019-07-13 15:24

1.利用while迴圈重複直到數字被整除

2.在找到因數時將找到的當前找到的因數新增到表單中

3.利用list.count來找尋重複的的數字,藉此來計算次方

4.輸出表單中的數字

 
#20506: Re:解法介紹


10811124@stu.cmsh.khc.edu.tw (立峰陳)

學校 : 國立旗美高級中學
編號 : 108792
來源 : [27.240.168.65]
最後登入時間 :
2023-03-17 00:06:48
a010. 因數分解 | From: [1.175.252.29] | 發表日期 : 2020-01-31 22:53

1.利用while迴圈重複直到數字被整除

2.在找到因數時將找到的當前找到的因數新增到表單中

3.利用list.count來找尋重複的的數字,藉此來計算次方

4.輸出表單中的數字


老師我做到這裡了,但count要怎麼加呢? 請求指點

while 1:
    c=[]
    try:
        a=int(input())
        while a>1:
            for i in range(2,a+1):
                if a%i==0:
                    a=int(a/i)
                    if a==1:
                        c.append(i)
                    else:
                        c.append(i)
                    break
        print(c)
    except:
        break
 
#20581: Re:解法介紹


asmoo677 (Huang)

學校 : 國立臺北科技大學
編號 : 55288
來源 : [111.240.39.156]
最後登入時間 :
2023-11-16 01:49:57
a010. 因數分解 | From: [60.251.109.50] | 發表日期 : 2020-02-10 15:18

1.利用while迴圈重複直到數字被整除

2.在找到因數時將找到的當前找到的因數新增到表單中

3.利用list.count來找尋重複的的數字,藉此來計算次方

4.輸出表單中的數字


老師我做到這裡了,但count要怎麼加呢? 請求指點

while 1:
    c=[]
    try:
        a=int(input())
        while a>1:
            for i in range(2,a+1):
                if a%i==0:
                    a=int(a/i)
                    if a==1:
                        c.append(i)
                    else:
                        c.append(i)
                    break
        print(c)
    except:
        break

 

import sys
for num in sys.stdin:
    num = int(num)
    out = ''
    t = 2
    while num != 1:
        if num % t == 0:
            pow = 0
            while True:
                pow = pow + 1
                num = num / t
                if num % t != 0 : break
            if pow > 1:
                out = out + str(t) + '^' + str(pow) + ' * '
            elif pow == 1:
                out = str(out) + str(t) + ' * '
        t = t + 1 
    out = out.strip(' ').strip('*')   
    print(out)

 

我的寫法給你參考 不保證是最好的寫法啦 不過能AC

也求各位高手能指點一下還有哪裡能進步的 剛學PYTHON還不太懂

 
ZeroJudge Forum