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
廣告