| ||||||||||
| 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 | |||||||||
试过一些边缘性的数么?1 8或者1 1e100或者8 8之类的In Reply To:为什么这道简单题都不停的wa,有什么陷阱?太受打击了 Posted by:cpp051300448324 at 2005-04-24 03:08:19 > #include<iostream>
> #include<cstring>
>
> #define max(a,b) (a>b?a:b)
> using namespace std;
>
> short str[600][1000]={0};
>
> void plus_(short* s1,short* s2,short*res){
> int len=max(s1[0],s2[0]);
> int i;
> for(i=1;i<=len;i++){
> res[i]+=(s1[i]+s2[i])%10;
> res[i+1]+=(s1[i]+s2[i])/10;
> }
> if(res[len+1]!=0)len++;
> res[0]=len;
> }
>
> int compare(short*s1,short*s2){
> int i;
> if(s1[0]<s2[0])return -1;
> else if(s1[0]>s2[0])return 1;
> int len=s1[0];
> for(i=len;i>=1;i--){
> if(s1[i]>s2[i])return 1;
> else if(s1[i]<s2[i])return -1;
> }
> return 0;
> }
>
> void ini(){
> str[1][0]=1;
> str[1][1]=1;
> str[2][0]=1;
> str[2][1]=2;
> int i=3;
> while(i<600){
> plus_(str[i-1],str[i-2],str[i]);
> /* for(int j=str[i][0];j>=1;j--){
> cout<<str[i][j];
> }
> cout<<endl; */
> i++;
> }
> }
>
>
>
>
>
> int main(){
> int i,j;
> ini();
> short s1[1000],s2[1000];
> char _s1[1000],_s2[1000];
> short end[1000]={1};
> int len_1,len_2;
> //scanf("%s %s",_s1,_s2);
> cin>>_s1>>_s2;
> len_1=strlen(_s1);
> len_2=strlen(_s2);
> s1[0]=len_1;
> for(i=1;i<=len_1;i++){
> s1[i]=_s1[len_1-i]-'0';
> }
> s2[0]=len_2;
> for(i=1;i<=len_2;i++){
> s2[i]=_s2[len_2-i]-'0';
> }
> while(compare(s1,end)!=0||compare(s2,end)!=0){
> int num_1,num_2;
> int n=1;
> while(compare(str[n],s1)<0){
> n++;
> }
> num_1=n-1;
> if(n>1)n--;
> while(compare(str[n],s2)<=0){
> n++;
> }
> num_2=n-1;
> /* for(i=s1[0];i>=1;i--){
> cout<<s1[i];
> }
> cout<<endl;
> for(i=s2[0];i>=1;i--){
> cout<<s2[i];
> }
> cout<<endl; */
> //cout<<num_1<<' '<<num_2<<endl;
> cout<<num_2-num_1<<endl;
> //scanf("%s %s",_s1,_s2);
> cin>>_s1>>_s2;
> len_1=strlen(_s1);
> len_2=strlen(_s2);
> s1[0]=len_1;
> for(i=1;i<=len_1;i++){
> s1[i]=_s1[len_1-i]-'0';
> }
> s2[0]=len_2;
> for(i=1;i<=len_2;i++){
> s2[i]=_s2[len_2-i]-'0';
> }
> }
> system("pause");
> return 0;
> }
>
>
>
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator