Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
54342 | 杨中琦 | 国王的米粒 | C++ | 通过 | 100 | 0 MS | 256 KB | 654 | 2022-07-29 14:48:53 |
#include<bits/stdc++.h> using namespace std; string add(string a1,string a2){ long long y=0,r; int m=max(a1.size(),a2.size()); while(a1.size()<m) a1="0"+a1; while(a2.size()<m) a2="0"+a2; for(int i=a1.size()-1;i>=0;i--){ r=(a1[i]-'0')+(a2[i]-'0')+y; a2[i]=r%10+'0'; y=r/10; } if(y==1)a2="1"+a2; return a2; } int k,m; string ans="0",rs; int main(){ cin>>k>>m; if(m>k){ for(int i=k;i<=m;i++){ rs="1"; for(int j=1;j<=i-1;j++)rs=add(rs,rs); ans=add(ans,rs); } }else{ for(int i=m;i<=k;i++){ rs="1"; for(int j=1;j<=i-1;j++)rs=add(rs,rs); ans=add(ans,rs); } } cout<<ans; return 0; }