C語言 阿爾法乘積

2021-07-28 11:32:56 字數 737 閱讀 2817

演算法訓練 阿爾法乘積  

時間限制:1.0s   記憶體限制:512.0mb

問題描述

計算乙個整數的阿爾法乘積。對於乙個整數x來說,它的阿爾法乘積是這樣來計算的:如果x是乙個個位數,那麼它的阿爾法乘積就是它本身;否則的話,x的阿爾法乘積就等於它的各位非0的數字相乘所得到的那個整數的阿爾法乘積。例如:4018224312的阿爾法乘積等於8,它是按照以下的步驟來計算的:

4018224312 → 4*1*8*2*2*4*3*1*2 → 3072 → 3*7*2 → 42 → 4*2 → 8

編寫乙個程式,輸入乙個正整數(該整數不會超過6,000,000),輸出它的阿爾法乘積。

輸入格式:輸入只有一行,即乙個正整數。

輸出格式:輸出相應的阿爾法乘積。

輸入輸出樣例

樣例輸入

4018224312

樣例輸出 8

作者注釋:此題原本以為比較簡單,後來才想用字元陣列來存放輸入的數,再通過遍歷加判斷來操作,過程中想到了用遞迴來做,出口為n<10。

1 #include2

long

long a(long

long

n)else

else

//若能被10整除,則結果不變,所以進行除以10運算

12 n/=10;13

}14return

a(ji);15}

16}17main()

C語言 阿爾法乘積

演算法訓練 阿爾法乘積 時間限制 1.0s 記憶體限制 512.0mb 問題描述 計算乙個整數的阿爾法乘積。對於乙個整數x來說,它的阿爾法乘積是這樣來計算的 如果x是乙個個位數,那麼它的阿爾法乘積就是它本身 否則的話,x的阿爾法乘積就等於它的各位非0的數字相乘所得到的那個整數的阿爾法乘積。例如 40...

C語言 阿爾法乘積

演算法訓練 阿爾法乘積 時間限制 1.0s 記憶體限制 512.0mb 問題描述 計算乙個整數的阿爾法乘積。對於乙個整數x來說,它的阿爾法乘積是這樣來計算的 如果x是乙個個位數,那麼它的阿爾法乘積就是它本身 否則的話,x的阿爾法乘積就等於它的各位非0的數字相乘所得到的那個整數的阿爾法乘積。例如 40...

C語言 阿爾法乘積

演算法訓練 阿爾法乘積 時間限制 1.0s 記憶體限制 512.0mb 問題描述 計算乙個整數的阿爾法乘積。對於乙個整數x來說,它的阿爾法乘積是這樣來計算的 如果x是乙個個位數,那麼它的阿爾法乘積就是它本身 否則的話,x的阿爾法乘積就等於它的各位非0的數字相乘所得到的那個整數的阿爾法乘積。例如 40...