題目敘述
輸入第一行有一個數字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;
}
}
留言
張貼留言