Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
21210 | 陈万瑄 | 印度国王的棋盘 | C++ | 运行出错 | 0 | 2 MS | 328 KB | 632 | 2021-06-26 20:06:55 |
#include<bits/stdc++.h> using namespace std; int k,m; string s="0"; string add(string a,string b){ int si=max(a.length(),b.length()),y=0,r; string ans=0; while(a.length()<si) a="0"+a; while(b.length()<si) b="0"+b; for(int i=si-1;i>=0;i--){ r=a[i]-'0'+b[i]-'0'+y; ans[i]=r%10+'0'; y=r/10; } if(y) ans="1"+ans; return ans; } string p2(int n){ string t="1"; while(n--){ t=add(t,t); } return t; } int main(){ scanf("%d,%d",&k,&m); for(int i=k;i<=m;i++){ s=add(s,p2(i-1)); } if(s.size()>=6){ cout<<s.substr(0,3)<<","<<s.substr(s.size()-3); }else{ cout<<s; } return 0; }