| ||||||||||
| 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 | |||||||||
救命呀,那位大牛帮我修改修改#include<iostream>
#include<string.h>
using namespace std;
char num[750][300];
void add(char *a,char *b,char *c)
{
int lena=strlen(a),lenb=strlen(b),i;
int t=0;
for(i=0;i<lena;i++)
{
t=t+a[i]-'0'+b[i]-'0';
c[i]=t%10+'0';
t=t/10;
}
while(i<lenb)
{
t=t+b[i]-'0';
c[i]=t%10+'0';
t=t/10;
i++;
}
while(t)
{
c[i]=t%10+'0';
i++;
t=t/10;
}
c[i]='\0';
}
void count()
{
int i;
num[0][0]='1',num[1][0]='2';
for(i=2;i<750;i++)
{
add(num[i-2],num[i-1],num[i]);
}
}
int cmp(char *a,char *b)
{
int i,t=0;
if(strlen(b)<strlen(a))
return -1;
if(strlen(b)>strlen(a))
return 1;
if(strlen(a)==strlen(b))
{
for(i=strlen(a)-1;i>=0;i--)
{
if(a[i]-'0'>b[t]-'0')
return -1;
else if(a[i]-'0'<b[t]-'0')
return 1;
else
;
t++;
}
}
return 0;
}
int findmax(char *a,char *b)
{
int i,sum=0;
for(i=0;i<750;i++)
{
if(cmp(a,num[i])>=0&&cmp(num[i],b)>=0)
{
sum++;
}
}
return sum;
}
int main()
{
char a[200],b[200];
count();
while(scanf("%s%s",a,b))
{
if(a[0]=='0'&&b[0]=='0')
return 0;
printf("%d\n",findmax(a,b));
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator