題目1138 進製轉換 九度OJ

2021-07-30 22:09:51 字數 860 閱讀 1150

題目1138:進製轉換

時間限制:1 秒

記憶體限制:32 兆

特殊判題:否

提交:4282

解決:1608

題目描述:將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。

輸入:多組資料,每行為乙個長度不超過30位的十進位製非負整數。

(注意是10進製數字的個數可能有30個,而非30bits的整數)

輸出:每行輸出對應的二進位制數。

樣例輸入:

013

8

樣例輸出:

0111

1000

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,...