題目1138:進製轉換
時間限制:1 秒
記憶體限制:32 兆
特殊判題:否
提交:4282
解決:1608
題目描述:將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。
輸入:多組資料,每行為乙個長度不超過30位的十進位製非負整數。
(注意是10進製數字的個數可能有30個,而非30bits的整數)
輸出:每行輸出對應的二進位制數。
樣例輸入:
0138
樣例輸出:
01111000
2023年北京大學軟體所計算機研究生機試真題
模擬大數除法。
手算除法怎麼算,按照思路來就好了。
**效率不高,以後有時間再重構吧。
#include #include #include using namespace std;
int main(){
int num[35],b[35],ans[200],flag,length;
string str;
while(getline(cin,str)){
memset(num,0,sizeof(num));
memset(ans,0,sizeof(ans));
memset(b,0,sizeof(b));
length=0;
int str_size=str.size();
for(int i=0;i=0;k--){
cout<
九度OJ 1138 進製轉換
此題說來慚愧。輸入資料過大不能儲存在long long中。冥思苦想想不到處理方法,最後看了一篇博文才受了啟發,採取逐位計算的方法來對字串進行處理,有點類似硬體的計算方法了。具體演算法如下 從高到低逐位進行 除以二存在另乙個串中,再判斷此位奇偶。若奇則c位1,若偶則c位0。將c同下位一起重複如此演算法...
九度OJ 題目1080 進製轉換
題目描述 將m進製的數x轉換為n進製的數輸出。輸入 輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出 輸出x的n進製表示的數。樣例輸入 16 10 f 樣例輸出 15 本題考查大數處理。將乙個m進製的大數d...
九度OJ 題目1080 進製轉換
一.題目描述 將m進製的數x轉換為n進製的數輸出。輸入 輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出 輸出x的n進製表示的數。樣例輸入 16 10 f樣例輸出 二.題目分析 很久之前做的,但是一直wa,...