top1编程
← 返回题目
题解

【基础】棋盘里的麦子?

1 条题解

  • 0
    @ 2026-7-28 22:09:17
    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int a[100] = {1},i,j,n,len = 1;//默认是1位的 
        cin>>n;
        //循环n次
        for(i = 1;i < n;i++){
            //共有len位需要计算 
            for(j = 0;j < len;j++){
                a[j] = a[j] * 2;//每次都是上一次的两倍
            }
            //共有len位需要进位
            for(j = 0;j < len;j++){
                if(a[j] >= 10){
                    a[j + 1] = a[j + 1] + a[j] / 10;
                    a[j] = a[j] % 10;
                }
            }
            //判断有没有多一位出来
            if(a[len] != 0){
                len++;
            } 
        } 
         
        for(i = len-1;i >= 0;i--){
            cout<<a[i];
        }
         
    }
    
    • 1