zoukankan      html  css  js  c++  java
  • P1601 A+B Problem(高精)

    题目链接:https://www.luogu.com.cn/problem/P1601

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int a[505], b[505];
     4 int ans[510];
     5 int main()
     6 {
     7     char c;
     8     int la=0;
     9     while((c=getchar())!='
    ')a[la++]=c-'0';
    10     for(int i=0; i<la/2; i++)swap(a[i],a[la-i-1]);//倒置数组a
    11 //    for(int i=0; i<la; i++)cout<<a[i];//测试输出
    12 //    cout<<endl;
    13     int lb=0;
    14     while((c=getchar())!='
    ')b[lb++]=c-'0';
    15     for(int i=0; i<lb/2; i++)swap(b[i],b[lb-i-1]);//倒置数组b
    16 //    for(int i=0; i<lb; i++)cout<<b[i];//测试输出
    17 //    cout<<endl;
    18     int l=max(la, lb);
    19     
    20 //    for(int i=0; i<l+10; i++)cout<<a[i]<<" ";
    21 //    cout<<endl;
    22 //    for(int i=0; i<l+10; i++)cout<<b[i]<<" ";
    23 //    cout<<endl;
    24     
    25     int jw=0;
    26     for(int i=0; i<l; i++){
    27         int t=a[i]+b[i]+jw;
    28         ans[i]=t%10;
    29         jw=t/10;
    30 //        cout<<ans[i]<<" ";//测试用 
    31     } 
    32     if(jw==1){
    33         ans[l]=1;
    34         l=l+1;
    35     }
    36     for(int i=l-1; i>=0; i--)cout<<ans[i];
    37     return 0;
    38 }

    很久没写高精度,为上课今天快速写了一下,自认为很牛逼(没有使用多余字符串),结果提交luogu全部WA,调试很久(通过注释可以看得出来)依然全部WA。

    查看评论区的时候看到如下:

     才发现了windows下的这个坑。详解请查看https://blog.csdn.net/hnxyxiaomeng/article/details/84979649

      重新更改代码后如下,从容AC

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 char aa[505], bb[505];
     4 int a[505], b[505];
     5 int ans[510];
     6 int la, lb;
     7 int main()
     8 {
     9     cin>>aa>>bb;
    10     la=strlen(aa), lb=strlen(bb);
    11     for(int i=0; i<la; i++)a[la-1-i]=aa[i]-'0';
    12     for(int i=0; i<lb; i++)b[lb-1-i]=bb[i]-'0';
    13     
    14     int l=max(la, lb);
    15     
    16     int jw=0;
    17     for(int i=0; i<l; i++){
    18         int t=a[i]+b[i]+jw;
    19         ans[i]=t%10;
    20         jw=t/10;
    21         //cout<<ans[i]<<" ";//测试用 
    22     } 
    23 
    24     if(jw==1){
    25         ans[l]=1;
    26         l=l+1;
    27     }
    28     for(int i=l-1; i>=0; i--)cout<<ans[i];
    29     return 0;
    30 }
  • 相关阅读:
    CodeForces 734F Anton and School
    CodeForces 733F Drivers Dissatisfaction
    CodeForces 733C Epidemic in Monstropolis
    ZOJ 3498 Javabeans
    ZOJ 3497 Mistwald
    ZOJ 3495 Lego Bricks
    CodeForces 732F Tourist Reform
    CodeForces 732E Sockets
    CodeForces 731E Funny Game
    CodeForces 731D 80-th Level Archeology
  • 原文地址:https://www.cnblogs.com/tflsnoi/p/13230950.html
Copyright © 2011-2022 走看看