1170:计算2的N次方
麦兜 / 2019-07-22 / 算法 / 阅读量 178

【题目描述】

任意给定一个正整数N(N≤100),计算2的n次方的值。
【输入】

输入一个正整数N。
【输出】

输出2的N次方的值。
【输入样例】

5

【输出样例】

32

【来源】

No

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

int main()
{
    int n;
    cin >> n;
    int arr[1000] = { 1 }; /*第一个初始值必须为1 因为0乘于任何数都为0*/
    int index = 1;
    for (int i = 0; i < n; i++)
    {
        int t = 0;
        int x = 0;
        while (t < index) /*每次乘2+进位值*/
        {
            arr[t] = arr[t] * 2 + x;
            x = arr[t] / 10;
            arr[t] = arr[t] % 10;
            if (x > 0)
            {
                index++;
            }
            t++;
        }
    }
    /*排除多余的0*/
    while (arr[index] == 0 && index>0)
        index--;

    for (int i = index; i >= 0; i--)
        cout << arr[i];
}

发表留言

人生在世,错别字在所难免,无需纠正。