輸入兩個非負 10 進製整數 a 和 b (≤230−
1)
(≤2^ −1)
(≤230
−1)
,輸出 a+b 的 d (1輸入格式:
輸入在一行中依次給出 3 個整數 a、b 和 d。
輸出格式:輸出 a+b 的 d 進製數。
輸入樣例1:123 456 8
輸出樣例1:3.2.1
輸入樣例2:14.1.28 10.16.27
輸出樣例2:1103
分析:
進製轉換過程就是不斷的除進製取模,並儲存到陣列中
部分正確的可能原因: 沒有對sum=0進行特判
也可以用string或者vector等容器 來儲存,最後reverse,即把所有的元素逆序。
(1) 陣列儲存
#include
#include
#include
#include
using
namespace std;
intmain()
; cin >> m >> n >> p;
sum = m + n;
if(sum==0)
while
(sum !=0)
for(
int k = i-
1; k >=
0; k--
)}
(2)vector容器
#include
#include
#include
#include
using
namespace std;
intconvert
(int k,
int p)
;int
main()
else
reverse
(ans.
begin()
, ans.
end())
;//最後逆序輸出
for(it = ans.
begin()
; it != ans.
end();
++it)
}}
(3)stirng去儲存進製數
#include
#include
#include
#include
using
namespace std;
intconvert
(int k,
int p)
;int
main()
else
reverse
(str.
begin()
, str.
end())
; cout << str << endl;
}}
以上三種均可。 PAT(乙) 1022 D進製的A B 20
時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣...
1022 D進製的A B
輸入兩個非負10進製整數a和b 230 1 輸出a b的d 1 d 10 進製數。輸入格式 輸入在一行中依次給出3個整數a b和d。輸出格式 輸出a b的d進製數。輸入樣例 123 456 8輸出樣例 1103 按照進製轉換的公式,得出的餘數要反過來輸出。所以要先把計算出的餘數儲存在陣列中,但是陣列...
1022 D進製的A B
分析 其實就是把十進位制數a b的和轉換為d進製數 模擬十轉二的除基取餘法 思路 為了防止不必要的麻煩,a和b還是用long吧 除基取餘 將a b的和除以d,取每次的餘數,直到商為0 不能直接輸出餘數,這樣是反的。放在乙個陣列裡倒著輸出 include using namespace std int...