PAT 乙級 1017 A除以B (20) C++版

來源:互聯網
上載者:User

標籤:content   return   pac   span   logs   限制   name   size   str   

1017. A除以B (20)時間限制100 ms記憶體限制65536 kB代碼長度限制8000 B判題程式Standard作者CHEN, Yue

本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸出商數Q和餘數R,使得A = B * Q + R成立。

輸入格式:

輸入在1行中依次給出A和B,中間以1空格分隔。

輸出格式:

在1行中依次輸出Q和R,中間以1空格分隔。

輸入範例:
123456789050987654321 7
輸出範例:
17636684150141093474 3

注意點:A只有一位元的時候,A的第一位小於B的時候

 1 // 1017.cpp : 定義控制台應用程式的進入點。 2 // 3  4 #include "stdafx.h" 5 #include<iostream> 6 #include<string> 7 #include<typeinfo> 8  9 using namespace std;10 11 int main()12 {13     string A,Q;14     int B, R;15 16     cin >> A >> B;17 18     int size = A.size();19 20     if (size == 1)21         cout << (A[0] - 48) / B << " " << (A[0] - 48) % B << endl;22     else23     {24         if ((A[0]) < B+48)25         {26             Q.push_back((((A[0] - 48) * 10 + A[1] - 48) / B)+48);27             R = ((A[0] - 48) * 10 + A[1] - 48) % B;28         }29         else30         {31             Q.push_back((A[0] - 48) / B+48);32             R = (A[0] - 48) % B;33 34             Q.push_back(((R * 10 + A[1] - 48) / B)+48);35             R = (R * 10 + A[1] - 48) % B;36         }37 38         for (int i = 2; i < size; ++i)39         {40             Q.push_back(((R * 10 + A[i] - 48) / B) + 48);41             R = (R * 10 + A[i] - 48) % B;42         }43 44         cout << Q << " " << R << endl;45     }46 47     return 0;48 }

 

PAT 乙級 1017 A除以B (20) C++版

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.