C語言 分解因數

2021-09-20 15:21:50 字數 809 閱讀 1772

題目描述

給出乙個正整數a,要求分解成若干個正整數的乘積,即a=a1×a2×a3×…×an,並且1該題採取遞迴方式去完成

定義全域性變數ans、n,ans作為分解因數中的種類數目,n為被分解的數。

設dns(h,z)中,h為因數時分解的種數。定義乙個字母i作為因子來判斷是否可以作為h的因子,如果可以則判斷下一級遞迴dfs(h/i,i) 最後當h為1時,則這一種方式已停止,令ans自加1,**實現如下:

void

dfs(

int h,

int z)

else

for(

int i=z;i<=h;

++i)

if(h%i==0)

dfs(h/i,i)

;}

其中當因數為2時該分解種類只有一種,直接提取該特殊數字

if

(n==2)

最後的全部**為

#include

int n,ans=0;

void

dfs(

int h,

int z)

else

for(

int i=z;i<=h;

++i)

if(h%i==0)

dfs(h/i,i);}

intmain()

dfs(n,2)

;printf

("%d\n"

,ans);}

return0;

}

因數分解(C語言)

題目描述 所謂因子分解,就是把給定的正整數a,分解成若干個素數的乘積,即 a a1 a2 a3 an,並且 1 a1 a2 a3 an。其中a1 a2 an均為素數。先給出乙個整數a,請輸出分解後的因子。輸入輸入包含多組資料,每組資料報含乙個正整數a 2 a 1000000 輸出對應每組資料,以 a...

藍橋杯 分解質因數 C語言

問題描述 求出區間 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 提示先篩出所...

C語言 質因數分解

學習的第4天,關於質因數分解,翁凱老師的第五周第乙個題目 輸入格式 乙個整數,範圍在 2,100000 內。輸出格式 形如 n axbxcxd 或n n 所有的符號之間都沒有空格,x 是小寫字母x。輸入樣例 18輸出樣例 18 2x3x3 畢竟剛學,寫的有點渣,哈哈 如下 include int f...