ZeroJudge A149: 乘乘樂

題目敘述

輸入第一行有一個數字N,接下來會有N行每行輸入一個數字。將每個數字的位數數字乘起來並輸出。

範例輸入

3

356

123

9999

範例輸出

90

6

6561

解題思路

使用字串 (String) 的方式來收數字,並且使用For迴圈講每一個位數的數字乘在一起 (可利用 int(str[j] - '0') 來將字元轉換成整數型態),For迴圈結束後即輸出答案。要注意的是存答案的變數預設值需設定為1不是0,這樣才不會一直乘以0導致所以答案都是0。

解題程式碼如下 (僅供參考):

#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;
    }
}

留言

這個網誌中的熱門文章

ZeroJudge M933: 邏輯電路

ZeroJudge A148: You Cannot Pass?!

ZeroJudge M932: 蜜蜂觀察