问题 4947 --质因数(Python)

4947: 质因数(Python)★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 493  解决: 293
[提交][状态][命题人:]

题目描述

输入两个正整数a,b,判断a和b的最大公约数是否为1。若为1,则打印Yes。若不为1,则分别打印a和b的质因数。

任何一个整数都可以写成若干质因数因子的乘积,比如60=2*2*3*5,其中2,3,5都是质数。

def GCD(a,b):
    g=a if a<b else b
    while a%g!=0 or b%g!=0:
        ______(1)_______
    return g

def f(number):
    ans=[]
    factor=2
    while number!=1:
        if number%factor==0:
            _____(2)________
            ans.append(factor)
        else:
            ______(3)________
    return ans

def main():
    a,b=map(int,input().split())
    if _____(4)_________:
        print('Yes')
    else:
        print(f(a),f(b))
        
main()

输入

两个正整数,均小于等于10000

输出

输出格式参照样例
样例输入
Copy
13 26
样例输出
Copy
[13] [2, 13]

提示

样例2输入

1234 1357

样例2输出

Yes

样例3输入

1234 2468

样例3输出

[2, 617] [2, 2, 617]

来源

[提交][状态]