Coding: 2的N次方
生活随笔
收集整理的這篇文章主要介紹了
Coding: 2的N次方
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
對于一個整數N(512 <= N <= 1024),計算2的N次方并在屏幕顯示十進制結果。
輸入描述:
輸入一個整數N(512 <= N <= 1024)
輸出描述:
2的N次方的十進制結果
輸入:
512
輸出:
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
要求
時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 128M,其他語言256M
分析
模擬字符串乘2即可,注意flag代表進位,進位可能大于1. 最后如果flag大于0,要在最高位前加上flag(新的最高位)
代碼
#include<iostream> #include<string> using namespace std;int main(){string s = "1";int n;cin>>n;char ch[] = {'0','1','2','3','4','5','6','7','8','9'}; for(int i=0;i<n;i++){int flag = 0;for(int j=s.size()-1;j>=0;j--){int temp = s[j] - '0';temp = temp * 2 + flag;flag = 0;if(temp >= 10){flag = temp / 10;temp = temp % 10;}s[j] = temp + '0';}if(flag > 0)s = ch[flag] + s;}cout<<s<<endl;return 0; }總結
以上是生活随笔為你收集整理的Coding: 2的N次方的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS Code设置代码片段(C++)
- 下一篇: Coding: 整数反转