PAT 1001 A+B 解題報告


PAT 1001 A+B


  • 題目鏈接:傳送門

  • 題目簡述:

    • 給定兩個值a,b;
    • 范圍-1000000 <= a, b <= 1000000;
    • 按指定格式輸出a+b的結果,例:-99,991;
  • 解題思路:

    • 一、明確范圍

      • a+b在正負兩百萬內;
      • int夠用,不用高精度;
    • 二、明確格式

      • 三位一起;
      • 視最后采取的代碼寫法注意可能需要補零;
      • 負號可以提前判定,相當於只要考慮正數;
    • 三、采取措施:

      • 計算a+b的結果c,處理掉負號;
      • 按c按1000進制將結果存儲在數組中;
      • 輸出最高位;
      • 剩下的每位:輸出一個 “,” 號,再輸出該位(補零)
    • 四、潛在問題:

      • 視代碼的具體實現方式可能在處理0的時候會出問題;
      • 對應措施:打完代碼特別觀察一下0的情況,並手測數據即可;
    • 五、提交后仍存在的bug

      • 無;
  • 源代碼:

        #include <cstdio>
        int  a,b,l,ans[10];
        int  main( )
        {
            for (scanf("%d%d",&a,&b); a+b<0; printf("-")) a=-a,b=-b;
            for (a+=b,l=a==0; a; a/=1000) ans[++l]=a%1000;
            for (printf("%d",ans[l]); --l; ) printf(",%03d",ans[l]);
        }
    
  • 提交記錄截圖


附:該頁Markdown源碼

# PAT 1001 A+B


- ### 代碼鏈接:[傳送門][2]


----


- ### 題目鏈接:[傳送門][1]


- ### 題目簡述:

    - 給定兩個值a,b;
    - 范圍-1000000 <= a, b <= 1000000;
    - 按指定格式輸出a+b的結果,例:-99,991;


- ### 解題思路:

    - 一、明確范圍
        - a+b在正負兩百萬內;
        - int夠用,不用高精度;

    - 二、明確格式
        - 三位一起;
        - 視最后采取的代碼寫法注意可能需要補零;
        - 負號可以提前判定,相當於只要考慮正數;

    - 三、采取措施:
        - 計算a+b的結果c,處理掉負號;
        - 按c按1000進制將結果存儲在數組中;
        - 輸出最高位;
        - 剩下的每位:輸出一個 “,” 號,再輸出該位(補零)

    - 四、潛在問題:
        - 視代碼的具體實現方式可能在處理0的時候會出問題;
        - 對應措施:打完代碼特別觀察一下0的情況,並手測數據即可;

    - 五、提交后仍存在的bug
        - 無;


- ### 源代碼:
      #include <cstdio>
      int  a,b,l,ans[10];
      int  main( )
      {
          for (scanf("%d%d",&a,&b); a+b<0; printf("-")) a=-a,b=-b;
          for (a+=b,l=a==0; a; a/=1000) ans[++l]=a%1000;
          for (printf("%d",ans[l]); --l; ) printf(",%03d",ans[l]);
      }


- ### 提交記錄截圖

 ![](http://images2015.cnblogs.com/blog/871469/201601/871469-20160127113540879-1571266197.png)


[1]: http://www.patest.cn/contests/pat-a-practise/1001
[2]: https://github.com/TheSkyFucker/object-oriented/tree/master/1001


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM