pat 乙级 1022 D进制的A+B(C++)
生活随笔
收集整理的這篇文章主要介紹了
pat 乙级 1022 D进制的A+B(C++)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
輸入兩個(gè)非負(fù) 10 進(jìn)制整數(shù) A 和 B (≤2?30 ?1),輸出 A+B 的 D (1<D≤10)進(jìn)制數(shù)。
輸入格式:
輸入在一行中依次給出 3 個(gè)整數(shù) A、B 和 D。
輸出格式:
輸出 A+B 的 D 進(jìn)制數(shù)。
輸入樣例:
123 456 8
輸出樣例:
1103
分析
- A+B<=2^31-2,故依然可用int類型來存儲(chǔ)變量
- 進(jìn)制轉(zhuǎn)換,可使用除k取余法
- 注意A、B為0的情況。
- 除k取余法,結(jié)果是倒著數(shù)。
AC代碼
#include<iostream> #include<string> #include<cstring> using namespace std; int main() {int A,B,C,D,r;cin>>A>>B>>D;string s="";C=A+B;if(C==0){cout<<0;}while(C!=0){r=C%D;s=s+to_string(r);C=C/D;}int len=s.length()+1;char ch[len];strcpy(ch, s.c_str());int i;for(i=len-2;i>=0;i--)cout<<ch[i];return 0; }用到的函數(shù)
to_string():將整數(shù)轉(zhuǎn)為string c_str():將string轉(zhuǎn)為char* strcpy():將字符串內(nèi)容復(fù)制到字符串或者char*有任何問題,歡迎評(píng)論區(qū)留言!
更多題解
pat 乙級(jí) 題解匯總(持續(xù)更新)(C++)
總結(jié)
以上是生活随笔為你收集整理的pat 乙级 1022 D进制的A+B(C++)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长安汽车(长安长安汽车报价)
- 下一篇: pat 乙级 1027 打印沙漏(C++