C 分解質因數

2021-10-02 00:25:19 字數 685 閱讀 8475

題目描述

求出區間[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...