自认为写的不错的一个数字河的题

来源:互联网 发布:气象数据采集仪 编辑:程序博客网 时间:2024/05/19 04:28
#include<iostream>
using  namespace  std;
int  main()
{
int  A1[100000],A2[100000],A3[100000],s,a,d,i,n,q,t,flag;
A1[0]=1;
A2[0]=3;
A3[0]=9;
d=0;
a=0;
for(i=1;i<100000;i++)
{
s=A1[i-1];
while(s!=0)
{
a=s%10;
d=d+a;
s=s/10;
}
A1[i]=A1[i-1]+d;
d=0;
a=0;
}
    for(i=1;i<100000;i++)
{
s=A2[i-1];
while(s!=0)
{
a=s%10;
d=d+a;
s=s/10;
}
A2[i]=A2[i-1]+d;
d=0;
a=0;
}
for(i=1;i<100000;i++)
{
s=A3[i-1];
while(s!=0)
{
a=s%10;
d=d+a;
s=s/10;
}
A3[i]=A3[i-1]+d;
d=0;
a=0;
}
n=1;
    q=1;
int X[100000]; 
cin>>X[0];
if(X[0]==0)
{
n=0;
}
while(n!=0)
{
for(i=1;i<100000;i++)
{
s=X[i-1];
while(s!=0)
{
a=s%10;
   d=d+a;
   s=s/10;
}
   X[i]=X[i-1]+d;
   d=0;
   }
for(i=0;i<100000;i++)
{
flag=0;
for(t=0;t<100000;t++)
{
if(X[i]==A1[t])
{
       cout<<"Case #"<<q<<endl;
   cout<<"first meets river 1 at "<<X[i]<<endl;
   flag=1;
   break;
   }
   else if(X[i]==A2[t])
   {
    cout<<"Case #"<<q<<endl;
    cout<<"first meets river 3 at "<<X[i]<<endl;
    flag=1;
    break;
   }
   else if(X[i]==A3[t])
   {
    cout<<"Case #"<<q<<endl;
    cout<<"first meets river 9 at "<<X[i]<<endl;
    flag=1;
    break;
   }
}
if(flag==1)
{
   break;
}
}
q=q+1;
cin>>X[0];
if(X[0]==0)
{
n=0;
}
}
    return(0);