1 条题解

  • 0
    @ 2023-6-11 12:17:07

    C :

    #include<stdio.h> 
    #include<stdlib.h> 
    #include<string.h> 
    #include<ctype.h> 
    #include<math.h> 
    int a[10005],s[10005];
    void ans(int k)
    {
    	
    	int i;
    	for(i = 0;i<10000;i++){
    		a[i]=a[i]*2;
    	}
    	
    	for(i = 0;i<10000;i++){
    		a[i+1] = a[i+1]+a[i]/10;
    		a[i]=a[i]%10;
    	}
    	
    }
    
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	
    	int i,j;
    	a[0]=1;
    	for(i=1;i<=n-1;i++){
    		
    		ans(2);
    		
    	}
    	
    	int p;
    	for(i=10005;i>=0;i--){
    		if(a[i]!=0){
    			p=i;
    			break;
    		}
    	}
    	for(i=p;i>=0;i--){
    		printf("%d",a[i]);
    	}
    	
    	
    	
    	return 0;
    }
    

    C++ :

    #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];
        }
         
    }
    
    

    Python :

    print(2**(int(input())-1))
    
    • 1

    信息

    ID
    2329
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者