日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ZZULIOJ 1068:二进制数

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ZZULIOJ 1068:二进制数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

二進制數

題目描述
將一個二進制數,轉換為對應的十進制數。

輸入
輸入一個二進制數,以回車結束。該二進制數為正數,長度不超過31。

輸出
輸出一個整數,為該二進制數對應的十進制數。

樣例輸入 Copy
100000000001

樣例輸出 Copy
2049

提示
(1) 整數運算盡量避免pow之類的double類型函數,以免截斷取整帶來錯誤。 (2)可使用遞推思想,充分利用中間結果。類似思想可參考秦九韶算法。秦九韶算法是中國南宋時期的數學家秦九韶提出的一種多項式簡化算法。計算一次多項式f(x) = a0xn + a1x(n-1) + … + an 只需要n次乘法和n次加法。原理是一次多項式f(x)可寫成如下加括號方式:f(x) =(( (a0*x + a1)*x + a2) * x + … an-1) * x + an。自內向外去括號計算,只需要n次乘法和n次加法。
本題從高位到低位依次輸出二進制數,對應多項式系數a0, a1,…,an, 而x的值為2。遞推過程如下:
d = 0;
while( ch = getchar(), ch != ‘\n’)
d = d * 2 + (ch - ‘0’);


#include<stdio.h> int main() {char ch;int d=0;while( ch = getchar(), ch != '\n'){d = d * 2 + (ch - '0');}printf("%d\n", d);return 0;}

總結

以上是生活随笔為你收集整理的ZZULIOJ 1068:二进制数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。