Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

求助。。。。。。。。。。。考虑了,开始为0的情况。。。调了一天了,不能在弄下去了。。点化一下,,,不胜感激呀!!

Posted by SilenceIowyh at 2005-08-12 20:49:48 on Problem 2413
#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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator