📄 finish.cpp
字号:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void plus(char *a, char *b, char *c);
void minus(char *a, char *b, char *c);
int main()
{
int i,n;
char a[2000]="1";
char b[2000]="1";
char c[2000];
char d[2000];
char yq[2000][2000];
memset(c, 0, sizeof(c));
memset(yq, 0, sizeof(yq));
scanf("%d",&n);
for( i=0; i<n; i++)
{
scanf("%s",yq[i] );
}
for( i=0; i<n; i++)
{
memset(d, 0, sizeof(d));
if(i==0) plus( a,b,c );
if( ( strlen(b)>strlen(yq[i]) ) || ( strlen(b)==strlen(yq[i]) && strcmp(b,yq[i])>0 ) )
{
strcpy(a,c);
while(( strlen(b)>strlen(yq[i]) ) || ( strlen(b)==strlen(yq[i]) && strcmp(b,yq[i])>0 ) )
{
minus( a,b,c );
strcpy(a,b);
strcpy(b,c);
}
strcpy(c,a);
minus( a,b,d );
strcpy(a,d);
}
while( strlen(c)<strlen( yq[i] ) )
{
strcpy(a,b);
strcpy(b,c);
plus( a,b,c );
}
while( (strcmp(c,yq[i])<0 || strcmp(c,yq[i])==0) &&strlen(c)==strlen(yq[i]) )
{
strcpy(a,b);
strcpy(b,c);
plus( a,b,c );
}
printf("%s\n",b);
}
}
void plus(char *a, char *b, char *c)
{
int i,j,longa,longb,xjjg,js=0;
longa=strlen(a);
longb=strlen(b);
strcpy( c,b );
for( i=longa-1,j=longb-1; i>=0&&j>=0; i--,j--)
{
xjjg=(c[j]-48)+(a[i]-48)+ js;
js=xjjg/10;
c[j]=xjjg%10+48;
}
while( j>=0 && js!=0 )
{
xjjg=( c[j]-48 )+js;
js=xjjg/10;
c[j]=xjjg%10+48;
j=j-1;
}
if( js!=0 )
{
for(i=longb; i>=0;i--)
{
c[i+1]=c[i];
}
c[0]='1';
}
}
void minus(char *a, char *b, char *c)
{
int i,j,longa,longb,xjjg,js=0,jhc;
longa=strlen(a);
longb=strlen(b);
strcpy( c,a );
for( i=longb-1,j=longa-1; i>=0&&j>=0; i--,j--)
{
xjjg=(c[j]-48)-(b[i]-48)-js;
js=0;
if(xjjg<0)
{
xjjg=xjjg+10;
js=1;
}
c[j]=xjjg+48;
}
while( js!=0 && j>=0)
{
xjjg=(c[j]-48)-js;
js=0;
if(xjjg<0)
{
xjjg=xjjg+10;
js=1;
}
c[j]=xjjg+48;
j=j-1;
}
i=0;j=0; jhc=0;
while ( c[i]=='0')
i=i+1;
while( c[i]!='\0')
{
c[j]=c[i];
j=j+1;
i=i+1;
jhc=jhc+1;
}
c[j]='\0';
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -