| ||||||||||
| 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<stdio.h>
#include<iomanip>
#include<string.h>
#include<math.h>
using namespace std;
char a[40],b[40];
int c[100];
bool ff=false;
int main(){
int len1,len2,dex1,dex2,dex3,sum;
c[0]=1;c[1]=2;
for(int i=2;i<100;i++){
c[i]=c[i-1]+c[i-2];
}
while(scanf("%s%s",a,b)!=EOF){
dex1=0;
dex2=0;
len1=strlen(a);
len2=strlen(b);
char vv1[40]="";
for(int i=0;i<len1;i++)
dex1+=c[len1-1-i]*(a[i]-'0');
for(int i=0;i<len2;i++)
dex2+=c[len2-1-i]*(b[i]-'0');
sum=dex1+dex2;ff=false;
for(int i=40;i>=0;i--){
if(dex1>=c[i]&&dex1<=c[i+1]){dex1-=c[i];strcat(vv1,"1");ff=true;continue;}
if(ff)strcat(vv1,"0");
}
char vv2[40]=""; ff=false;
for(int i=40;i>=0;i--){
if(dex2>=c[i]&&dex2<=c[i+1]){dex2-=c[i];strcat(vv2,"1");ff=true;continue;}
if(ff)strcat(vv2,"0");
}
dex3=max(strlen(vv1),strlen(vv2));
cout<<setiosflags(ios::fixed);
cout<<setw(3+dex3)<<vv1<<endl;
cout<<'+';cout<<setw(2+dex3)<<vv2<<endl;
char vv3[100]=""; ff=false;
for(int i=40;i>=0;i--){
if(sum>=c[i]&&sum<=c[i+1]){sum-=c[i];strcat(vv3,"1");ff=true;continue;}
if(ff)strcat(vv3,"0");
}
cout<<setw(3);
for(int i=0;i<strlen(vv3);i++)cout<<'-';
cout<<endl;
cout<<setw(3+dex3)<<vv3<<endl<<endl;
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator