Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 큰 수를 r로 나눈 나머지를 구하는 프로그램

<시간/>

이 문제에서는 큰 수인 문자열 num과 정수 R이 주어집니다. 우리의 임무는 C++에서 큰 수를 r로 나눌 때 나머지를 찾는 프로그램을 만드는 것입니다. .

문제 설명 − 문자열로 정의된 숫자를 두 자리 숫자인 r로 나눈 나머지를 구해야 합니다.

문제를 이해하기 위해 예를 들어보겠습니다.

입력

num = “123423450942121” r = 54

출력

7

해결 방법

나머지를 찾으려면 분명히 숫자를 나누어야 합니다. 그러나 거대한 숫자를 나누는 것은 복잡한 과정이므로 과정을 쉽게 하기 위해 숫자를 숫자로 나눕니다. 그리고 뒤에 오는 나머지를 저장합니다. 이 프로세스는 MSB에서 LSB까지의 숫자를 포함하는 전체 문자열에 대해 계속됩니다. 그리고 마지막에 나머지가 출력됩니다.

우리 솔루션의 작동을 설명하는 프로그램

#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