| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
求助。。。。。。。。。。。考虑了,开始为0的情况。。。调了一天了,不能在弄下去了。。点化一下,,,不胜感激呀!!#include<stdio.h>
#include<string.h>
int com(char a[],char b[])
{
int m,n,k;
for(m=0;a[m]!='\0';m++);
for(n=0;b[n]!='\0';n++);
if(m<n) return 0;
if(m==n)
{
for(k=m-1;k>=0;k--)
{
if(a[k]<b[k])
return 0;
if(a[k]>b[k])
return 1;
}
if(k==-1) return 1;
}
if(m>n) return 1;
}
void main()
{
char fib[480][120];
char s1[120],s2[120],s3[120],s4[120];
int i,j,count,c,d;
strcpy(fib[0],"1");
strcpy(fib[1],"2");
for(i=2;i<480;i++)
{
strcpy(s1,fib[i-1]);
for(j=0;fib[i-2][j]!='\0';j++)
s1[j]+=(fib[i-2][j]-'0');
for(j=0;s1[j+1]!='\0';j++)
if(s1[j]>=(10+'0'))
{
s1[j+1]+=(int)(s1[j]-'0')/10;
s1[j]=(int)(s1[j]-'0')%10+'0';
}
if(s1[j]>=(10+'0'))
{
s1[j+2]='\0';
s1[j+1]=(int)(s1[j]-'0')/10+'0';
s1[j]=(int)(s1[j]-'0')%10+'0';
}
strcpy(fib[i],s1);
}
while(1)
{
scanf("%s%s",s3,s4);
if(strcmp(s3,"0")==0) break;
for(c=0;s3[c]=='0';c++);
d=0;
for(c;s3[c]!='\0';c++)
s1[d++]=s3[c];
s1[d]='\0';
for(c=0;s4[c]=='0';c++);
d=0;
for(c;s4[c]!='\0';c++)
s2[d++]=s4[c];
s2[d]='\0';
strcpy(s3,s1);
strcpy(s4,s2);
strrev(s3);
strrev(s4);
for(i=0;;i++)
if(com(fib[i],s3))
break;
count=0;
for(j=i;;j++)
if(com(s4,fib[j]))
count++;
else break;
printf("%d\n",count);
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator