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

C++에서 계승이 x로 나누어지는 첫 번째 자연수 찾기

<시간/>

계승이 x로 나누어지는 첫 번째 자연수를 찾아야 합니다. x는 사용자가 제공합니다. 따라서 x =16이면 출력은 6이 됩니다. as 6! mod 16 =0. 우리는 이 문제를 해결하기 위해 일반적인 접근 방식을 사용할 것입니다. 반복적으로 1!, 2!, ...를 센다. N! x를 사용하여 나눗셈을 확인합니다. 계수가 0이면 중지하고 숫자를 반환합니다.

예시

#include<iostream>
using namespace std;
int getNumber(int x) {
   int fact = 1;
   int i = 0;
   while(fact % x != 0){
      i++;
      fact = fact * i;
   }
   return i;
}
int main() {
   int x = 16;
   cout << "Minimum value of N is: " << getNumber(x);
}

출력

Minimum value of N is: 6