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

C++에서 모듈로 또는 % 연산자를 사용하지 않고 나머지를 찾는 프로그램

<시간/>

이 문제에서 우리는 두 개의 숫자 N과 D를 받았습니다. 우리의 임무는 C++에서 모듈로 또는 % 연산자를 사용하지 않고 나머지를 찾는 프로그램을 만드는 것입니다. .

문제 설명 − 숫자 N을 D로 나눈 나머지를 찾아야 합니다. 하지만 여기에는 모듈로 또는 % 연산자를 사용할 수 없습니다.

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

입력

N = 53 D = 3

출력

2

솔루션 접근 방식

나머지를 찾으려면 간단한 접근 방식은 N보다 작은 수를 찾는 것입니다. 이는 D의 배수입니다. 그리고 기판은 N에서 숫자를 구합니다. 나머지를 반환하려면

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

예시

#include <iostream>
using namespace std;
int findRem(int N, int D) {
   int i ;
   for(i = 0; ;i++) {
      if(D * i >= N)
         break;
   }
   return N - (D * (i-1));
}
int main(){
   int N = 45, D = 6 ;
   cout<<"The remainder after dividing "<<N<<" by "<<D<<" is"<<findRem(N, D);
   return 0;
}

출력

The remainder after dividing 45 by 6 is 3

또 다른 솔루션은 C++에서 int 값으로 초기화하여 직접 추출할 수 있는 나누기 몫의 정수 값을 사용하는 것입니다. 그런 다음 D를 곱하고 N에서 값을 빼면 나머지가 됩니다.

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

예시

#include <iostream>
using namespace std;
int findRem(int N, int D) {
   int Q = N/D;
   int R = N - (D * Q);
   return R;
}
int main(){
   int N = 45, D = 6 ;
   cout<<"The remainder after dividing "<<N<<" by "<<D<<" is"<<findRem(N, D);
   return 0;
}

출력

The remainder after dividing 45 by 6 is 3