【二进制】17倍
17倍
題目大意:
有一個二進制數,求它的17倍
原題:
題目描述:
在了解做軟件開發可能賺很多的錢之后,農夫約翰也開了一家小的軟件公司為客戶寫程序。約翰的第一個任務對他來說看起來相當簡單:輸入一個數N,然后輸出17*N的值。但是現在,客戶又變更了一個條件,輸入的N是一個二進制數,輸出的值也要是二進制表示的。
現在請幫助約翰完成這個任務。
輸入
一個二進制表示的數N。
輸出
二進制表示的17N。
輸入樣例
10110111輸出樣例
110000100111說明
數據范圍:N的位數不超過1000位。
說明:10110111相當于十進制的183,于是183*17=3111,二進制形式是110000100111 。
解題思路:
直接用數組來存二進制數,然后計算
代碼:
#include<cstdio> #include<string> #include<cstring> #include<iostream> using namespace std; int len,t,k,a[1200]; string str; int main() {cin>>str;len=str.size();for (int i=1;i<=len;++i)a[i]=str[len-i]-48;//存入for (k=1;k<=len||t;++k)//如果有進位就繼續{a[k]=a[k]*17+t;//計算t=a[k]/2;a[k]%=2;}for (int i=k-1;i>0;--i)//輸出putchar(a[i]+48); } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
- 上一篇: 中国最大的城市面积 城市地理位置
- 下一篇: 【暴力】排队的奶牛