计算2的N次方

GitHub跳转原题关系图返回列表

使用 Python 的幂运算和任意精度整数计算 2 的 N 次方。

OJ: noi_openjudge

题目 ID: ch0106-12

难度:入门

标签:高精度数学python

日期: 2026-07-30 23:01

题意

输出 2N2^N,其中 N100N\leqslant100

思路

2**exponent 是 Python 的整数幂运算。结果即使超过固定长度整数范围,Python 也会自动使用任意精度表示。

代码

Python代码

python
exponent = int(input())
print(2**exponent)

C++代码

cpp
#include <cstdio>
#include <cstring>
int a[1000000] = {0};

int main(){
    a[0] = 1;
    int n;
    int i,j;
    int idx = 1;
    scanf("%d",&n);
    for (i=1;i<=n;i++){

        int jin = 0;
        for(j=0;j<idx;j++){
            int t= ( jin+a[j]+a[j]) % 10;
            jin = ( jin+a[j]+a[j]) / 10;
            a[j] = t;
        }
        if(jin){
            a[idx] = jin;
            idx++;
        }
    }
    for(i = idx-1;i>=0;i--)
        printf("%d",a[i]);
    return 0;
}

复杂度

结果有 O(N)O(N) 位,计算和输出的复杂度受结果位数限制。

总结

幂运算的 Python 写法是 **,不要把 ^ 误认为乘方。