刚做的百度那个比赛的题目
答案可能不对,不过能过样例我已经很满足了。晒一下......
程序代码:
#include <iostream> #include <cstdlib> #include <cstdio> #include <sstream> using namespace std; string num2str(double i) { stringstream ss; ss<<i; return ss.str(); } int main() { stringstream ost; string a,b,c,temp; int t,n,i,j,f2,f1,f0,pos,num,max=0,cNum=1; cin>>t; while(t--) { cin>>a>>b>>n; c=a+b; f0=a[0]-'0'; f1=b[0]-'0'; for(i=0;i<100;i++) { f2=f1+f0; temp=num2str(f2); c+=temp; f0=c[c.size()-2]-'0'; f1=c[c.size()-1]-'0'; } for(i=1;i<c.size();i++) { if(c[i]==c[0]) { for(pos=0,num=0;c[i++]==c[pos++];num++); if(num > max) max=num; } } cout<<"Case #"<<cNum++<<":"; cout<<c[n%max-1]<<endl; } return 0; }