1. 程式人生 > >求最大質因子

求最大質因子

問題描述:求一個數的最大質因子,如350的質因子為7

問題分析:因為任何數都可以分解成所有質數相成的形式,如350=2*5*5*7,40=2*2*2*5,所以可將該數按質因子從小到大的順序分解,最後一個質因子即為最大質因子

執行步驟

1、a[] 按順序存放足夠多的質數,如a[]={2,3,5,7,11,13,17,19,23,29.......},用max存放當前最大質因子,初始化max=0;

2、從第一個質數起,如果該質數啊a[i]能被x整除,則max=a[i],x=x/a[i],迴圈執行該步驟直到不能整除為止

3、依次執行步驟2,直到x=1;

程式碼: