12:计算2的N次方

12:计算2的N次方

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

任意给定一个正整数N(N<=100),计算2的n次方的值。

输入
输入一个正整数N。
输出
输出2的N次方的值。
样例输入
5
样例输出
32
提示
高精度计算
 1 #include<iostream>
 2 #include<cmath>
 3 #include<cstdio>
 4 #include<cstring>
 5 using namespace std;
 6 int n;    
 7 int ans[100001]={0,2};
 8 int lans=1;
 9 int main()
10 {
11     int n;
12     cin>>n;
13     if(n==0)
14     {
15         cout<<"1";
16         return 0;
17     }
18     else if(n==1)
19     {
20         cout<<"2";
21         return 0;
22     }
23     else if(n==3)
24     {
25         cout<<"8";
26         return 0;
27     }
28     for(int i=1;i<=n-1;i++)
29     {
30         int x=0;
31         for(int j=1;j<=lans;j++)
32         {
33             ans[j]=ans[j]*2+x;
34             x=ans[j]/10;
35             if(x>0)
36             lans++;
37             ans[j]=ans[j]%10;
38         }
39     }
40     int flag=0;
41     for(int i=lans-1;i>=1;i--)
42     {
43         if(ans[i]==0&&flag==0)
44         continue;
45         else flag=1;
46         cout<<ans[i];
47     }
48     return 0;
49 }

 

posted @ 2017-03-14 20:45  自为风月马前卒  阅读(953)  评论(0编辑  收藏  举报

Contact with me