1022 d進製的a+b (20分)
輸入兩個非負 10 進製整數 a 和 b (≤230−1),輸出 a+b 的 d (1輸入在一行中依次給出 3 個整數 a、b 和 d。
輸出 a+b 的 d 進製數。
123 456 8
#include//錯誤版本
1103
**講解 :剛開始看到這個題的時候我上來就覺得這不是就是遞迴嗎,三下五除二,就用遞迴寫了乙個。
總有倆個測試點過不去我冥思苦想,忽然想到是不是系統棧不夠用了,我測了一下大數,發現負數,我明白了
當進製很小的時候溢位了,我換成long long 還是不行數字太多,最後想了想我幹嘛要一定讓它儲存輸出呢
乙個乙個輸出不就完了嗎,而且編碼很容易。
int f(int n,int d)
else
}int main()
#include//遞迴版本
void f(int n,int d)
else
}int main()
return 0;
}
#include//正確陣列版本
int main()
while(q)
m[count++]=r;
int i;
for(i=count-1;i>=0;i--)
printf("%d",m[i]);
printf("\n");
}return 0;
}
1022 D進製的A B 20 分
注意 do while和while的區別,do while至少執行一次,while可能會直接跳過,碰到臨界值時是不同的 如果a b 0,此時直接用while出錯,要用do while 輸入兩個非負 10 進製整數 a 和 b 2 30 1 輸出 a b 的 d 1輸入在一行中依次給出 3 個整數 a...
1022 D進製的A B 20分
題目位址 輸入兩個非負 10 進製整數 a 和 b 2 30 1 輸出 a b 的 d 1輸入格式 輸入在一行中依次給出 3 個整數 a b 和 d。輸出格式 輸出 a b 的 d 進製數。輸入樣例 123 456 8 輸出樣例 進製轉換 p進製改十進位制 int n 0,product 1 n為結...
1022 D進製的A B 20 分
輸入兩個非負 10 進製整數 a 和 b 230 1 2 1 230 1 輸出 a b 的 d 1輸入格式 輸入在一行中依次給出 3 個整數 a b 和 d。輸出格式 輸出 a b 的 d 進製數。輸入樣例 123 456 8輸出樣例 1103題解 這個題無非是乙個進製轉換問題,可以先把進製數的次方...