中石油新生賽第四場 問題D 17倍

2021-09-02 22:57:33 字數 1185 閱讀 1287

題目描述

學習程式設計的lanlan記得老師給她布置的第乙個任務是:輸入乙個數n,然後輸出17*n的值。當然這個任務非常簡單,經過一段時間的學習,蘭蘭有了一些的進步,老師又布置了乙個類似的任務,只是變更了乙個條件,輸入的n是乙個二進位制數,輸出的值也要是二進位制表示的。

現在請幫助lanlan完成這個任務。

輸入

乙個二進位制表示的數n。

輸出

二進位制表示的17*n。

樣例輸入

10110111

樣例輸出

110000100111

提示

10110111相當於十進位制的183,於是183*17=3111,二進位制形式是110000100111。

30%的資料n的位數小於25位

50%的資料n的位數小於50位

100%的資料n的位數小於1000位

由於剛用進製轉換函式做出了第三場的進製轉換題,一拿到這個題可把我樂壞了,直接2進製轉10進製,乘上17,再轉回去,一執行,結果對,提交,錯。。。

後來一想這個二進位制小於1000位,意味著如果轉回十進位制的時候可能會算到2的幾百次方。。。那太誇張了,long long int也成弟弟。。。

正確的思路應該是先把二進位制的每一位都乘以17,然後再進製。

#include

#include

intmain()

temp=a[0]

;//原來的二進位制數進到a[0]後不能再往前進了,接著要把a[0]轉化成二進位制數

index=len;

while

(temp>0)

for(

int i=index-

1;i>=len;i--

)//輸出時a[0]轉化成的二進位制數,注意要倒著輸出,因為轉化時是從後往前

printf

("%d"

,a[i]);

for(

int i=

1;i)//再把除a[0]外原來的進完位的二進位制位數逐一輸出

printf

("%d"

,a[i]);

return0;

}

石油大第四場 C A X mod P

問題 c a x mod p 時間限制 5 sec 記憶體限制 128 mb 題目描述 it s easy for acmer to calculate a x mod p.now given seven integers n,a,k,a,b,m,p,and a function f x which...

ZZNU17級新生周賽第四場

a 平方和與立方和 本題考察條件語句和迴圈語句。可以定義兩個int型變數來計算累加和。b 猴子吃桃 第n天的桃子數是第n 1天吃剩下的。我們迴圈n 1次即可得到第一天的桃子數。鏈結 c 素數判定 質數 prime number 又稱 素數 有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不...

中國石油大學新生訓練賽第四場 Dominoc

alice最近在玩多公尺諾骨牌,她突發奇想,想用她的骨牌去鋪乙個2 n的長方形。alice的骨牌是1 2的長方形木片,在鋪骨牌的過程中她希望能滿足如下要求 1.骨牌必須橫向或豎向放置 2.骨牌不能超出2 n的長方形的邊界 3.骨牌之間不能有重疊 4.骨牌需要將長方形鋪滿 即,鋪2 n的長方形需要用n...