a149 - 乘乘樂
題目描述
題目要求讀取多組測試資料,每組資料包含一個整數 n。對於每個 n,計算其所有位數數字的乘積,並輸出結果。如果 n 包含 0,則乘積為 0。
解題思路
程式碼首先讀取測試資料組數 popo。然後,進入迴圈,每次讀取一個整數 a。對於每個 a,程式碼初始化乘積 s 為 1。如果 a 為 0,則直接將 s 設為 0。否則,使用迴圈迭代 a 的每一位數字,將每一位數字與 s 相乘。最後,輸出 s 並將其重置為 1,準備處理下一組測試資料。
複雜度分析
- 時間複雜度: O(N * K),其中 N 是測試資料組數,K 是每個數字的位數。
- 空間複雜度: O(1)
程式碼
#include <iostream>
using namespace std;
int main(){
int a=0;
long long int s=1;
int popo=0;
cin >> popo;
while(cin >> a){//123 1*2*3
if(a==0){s=0;}
for(int i=0;a>=1;a/=10){
s=s*(a%10);
}
cout << s <<endl;
s=1;
}
}