C++程式:求大數除以r的餘數


在這個問題中,我們得到一個表示大數的字串num和一個整數R。我們的任務是建立一個C++程式來求大數除以r的餘數

問題描述 − 我們需要找到由字串定義的數字除以r(一個兩位數)的餘數。

讓我們舉個例子來理解這個問題

輸入

num = “123423450942121” r = 54

輸出

7

解決方案

為了找到餘數,我們顯然需要進行除法運算。但是,對巨大的數字進行除法是一個複雜的過程,為了簡化這個過程,我們將逐位進行除法。並存儲餘數。這個過程將持續到包含數字的整個字串(從最高有效位到最低有效位)。最後列印餘數。

程式演示了我們解決方案的工作原理

示例

 線上演示

#include <iostream>
#include <string.h>
using namespace std;
int calcRem(string num, int R){
   int currDigit, rem = 0;
   for (int i = 0; i < num.length(); i++) {
      currDigit = rem * 10 + (num[i] - '0');
      rem = currDigit % R;
   }
   return rem;
}
int main() {
   string num = "123423450942121";
   int R = 54;
   cout<<"The remainder when large number is divided by r is"<<calcRem(num, R);
   return 0;
}

輸出

The remainder when large number is divided by r is 7

更新於: 2020年9月17日

453 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告