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

큰 수의 몫과 나머지를 위한 C++ 프로그램

<시간/>

큰 숫자의 찌르기가 주어지면 num이라고 말하고 다른 큰 숫자는 m이라고 말합니다. 작업은 나누기 연산을 사용하여 몫을 출력하고 모듈러스를 사용하여 큰 숫자의 나머지를 출력하는 것입니다.

출력은 Remainder =xxx여야 합니다. 몫 =yyy

입력 num =string num ="14598499948265358486" 및 다른 입력 m =487이 있다고 가정해 보겠습니다. 따라서 나머지는 430이고 몫은 29976385930729688입니다.

예시

입력:num ="214755974562154868" m =17출력:나머지 =15 몫 =12632704386009109입력:num ="214" m =5출력:나머지 =4 몫 => 

주어진 문제를 해결하기 위해 사용할 접근 방식 -

  • 초기 모드를 0으로 설정합니다.
  • 오른쪽부터 mod =(mod * 10 + digit) % m을 사용하여 mod를 찾아야 합니다.
  • quo[i] =mod/m으로 몫 찾기, 여기서 i는 몫의 위치 번호입니다.

알고리즘

1단계 시작 -> long long ll 선언 2단계 -> 함수 내에서 void quotientremainder(string num, ll m) vector vec Set ll mod =0 루프 For i =0 및 i  int main() 함수에서 선언 및 할당 num ="14598499948265358486" 선언 및 할당 ll m =487 함수 quotientremainder(num, m)Stop 호출

예시

#include using namespace std;typedef long long ll;// modulusvoid quotientremainder(string num, ll m)를 계산하는 함수 { // 큰 숫자의 모듈러스 저장 vector vec; ll 모드 =0; // 단계별 나눗셈 for (int i =0; i  

출력

나머지 :430Quotient :29976385930729688