1 条题解
-
0
C :
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> #include<math.h> int a[10005],s[10005]; //每次都计算 a数组*k void ans(int k){ //123 int i; //每一位都乘以k for(i=0;i<10000;i++){ a[i] = a[i]*k; } for(i=0;i<10000;i++){ a[i+1] = a[i+1] + a[i]/10; a[i] = a[i]%10; } } void add(){ int i; for(i=0;i<10000;i++){ s[i] = s[i]+a[i]; s[i+1] = s[i+1] + s[i]/10; s[i] = s[i]%10; } } int main(){ int n,i,j; scanf("%d",&n); for(i=1;i<=n;i++){ memset(a,0,sizeof(a)); a[0] = 1; for(j=1;j<=i;j++){ ans(2); } add(); } int p=1000; for(i=p;i>=0;i--){ if(s[i]!=0){ p = i; break; } } for(i=p;i>=0;i--){ printf("%d",s[i]); } return 0; }C++ :
#include <bits/stdc++.h> using namespace std; int main(){ int a[100][100] = {0}; int r[100] = {0}; int i,j,n; cin>>n; a[0][0] = 1; int k = 1; for(i = 1;i <= n;i++){ for(j = 0;j < k;j++){ a[i][j] = a[i - 1][j] * 2; } for(j = 0;j < k;j++){ if(a[i][j] >= 10){ a[i][j + 1] = a[i][j + 1] + a[i][j] / 10; a[i][j] = a[i][j] % 10; } } if(a[i][k] > 0){ k++; } } //求和 for(i = 1;i <= n;i++){ for(j = 0;j < k;j++){ r[j] = r[j] + a[i][j]; if(r[j] >= 10){ r[j + 1] += r[j] / 10; r[j] = r[j] % 10; } } if(r[k] > 0){ k++; } } int p = 0; for(i = k - 1;i >= 0;i--){ if(r[i] != 0){ p = i; break; } } for(i = p;i >= 0;i--){ cout<<r[i]; } }Pascal :
var n,i:longint; z,s:qword; begin read(n); s:=1; for i:=1 to n do begin s:=s*2; z:=z+s; end; write(z); end.Java :
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); List<Integer> s1=new ArrayList<Integer>(); List<Integer> s2=new ArrayList<Integer>(); s1.add(2); s2.add(2); for(int i=1;i<n;i++){ for(int j=0;j<s2.size();j++){ int tmp=s2.get(j); s2.set(j, tmp*2); } for(int k=0;k<s2.size()-1;k++){ int tmp=s2.get(k); if(tmp>=10){ int tmp2=s2.get(k+1); s2.set(k, tmp%10); s2.set(k+1, tmp2+1); } } int tmp=s2.get(s2.size()-1); if(tmp>=10){ s2.set(s2.size()-1, tmp%10); s2.add(1); } s1=plus(s1, s2); } for(int i=s1.size()-1;i>=0;i--){ System.out.print(s1.get(i)); } } public static List<Integer> plus(List<Integer> s1,List<Integer> s2){ List<Integer> s3=new ArrayList<Integer>(); for(int i=0;i<s2.size();i++){ s3.add(s2.get(i)); } for(int i=0;i<s1.size();i++){ s3.set(i, s1.get(i)+s3.get(i)); } for(int i=0;i<s3.size()-1;i++){ int n1=s3.get(i); int n2=s3.get(i+1); if(n1>=10){ s3.set(i, n1-10); s3.set(i+1, n2+1); } } if(s3.get(s3.size()-1)>=10){ s3.set(s3.size()-1, s3.get(s3.size()-1)-10); s3.add(1); } return s3; } }Python :
print(2**int(input())*2-2)
- 1
信息
- ID
- 262
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者