題目描述
求出區間[a,b]中所有整數的質因數分解。
輸入格式
輸入兩個整數a,b。
輸出格式
每行輸出乙個數的分解,形如k=a1a2a3…(a1< =a2< =a3…,k也是從小到大的)(具體可看樣例)
輸入樣例
3 10
輸出樣例
3=34=22
5=56=23
7=78=222
9=33
10=25
範圍與提示
先篩出所有素數,然後再分解。 2< =a< =b< =10000
解題思路
1.首先找到乙個最小的質數(最小的質數為2,i從2開始)
2.如果這個質因數i等於n那麼分解過程就結束了,因為不能再分解了
3.如果i不等於n,但是n可以被i整除,那麼輸出這個i,並用n/i(n除以i)作為n的新值,並重複步驟2
4.如果n不能被i整除,那麼是k=k+1; 重複執行第2步
#include
#include
using
namespace std;
intmain()
else
break
;//如果不能整除,就跳出 }}
cout<}return0;
}
C 分解質因數
怎樣將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n i,但n能被k整除,則應列印出i的值,並用n除以i的商,作為新的正整數...
分解質因數
質因數概念 每個合數都可以寫成幾個質數相乘的形式,這幾個質數就都叫做這個合數的質因數。如果乙個質數是某個數的因數,那麼就說這個質數是這個數的質因數。而這個因數一定是乙個質數。演算法原理 先根據需要分解的合數生成乙個質數表。然後依次從小到大依次除合數,每次除之後都將儲存步驟。表達不好,還是看 吧 us...
分解質因數
分解質因數 問題描述 求出區間 a,b 中所有整數的質因數分解。輸入格式 輸入兩個整數a,b。輸出格式 每行輸出乙個數的分解,形如k a1 a2 a3.a1 a2 a3.k也是從小到大的 具體可看樣例 樣例輸入 3 10 樣例輸出 3 34 2 2 5 56 2 3 7 78 2 2 2 9 3 3...