ZeroJudge A149: 乘乘樂

你拿到一個整數,卻忍不住想把每個位數都乘在一起。例如看到 356 就會想要知道 3 * 5 * 6 的值為何。快寫個程式幫幫為了乘數字而快發瘋的自己吧!

範例測資

範例輸入範例輸出
一開始有一個數字 T,表示共有幾組測試資料。
接下來有 T 個數字 n (0 <= n < 2147483648)。
輸出可以拯救自己的結果。
3
356
123
9999
90
6
6561

解題思路

使用字串來收數字,然後使用For迴圈將每一個位數的數字乘在一起。要注意的是存答案的變數預設值需設定為1不是0,這樣才不會一直乘以0導致所有答案都是0。

範例程式碼-ZeroJudge A149: 乘乘樂

#include <iostream>
using namespace std;

int main() {
    int N;
    cin >> N;
    for (int i = 0; i<N; i++)
    {
        string str;
        cin >> str;
        int sum = 1;
        for (int j = 0; j<str.length(); j++)
        {
            sum *= int(str[j] - '0');
        }
        cout << sum << endl;
    }
}

//Z.O.J. A149
//Dr. SeanXD

發佈留言