Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm số tự nhiên đầu tiên có giai thừa chia hết cho x trong C ++

Ta phải tìm số tự nhiên đầu tiên mà giai thừa của nó chia hết cho x. Dấu x được đưa ra bởi người dùng. Vì vậy, nếu x =16, thì đầu ra sẽ là 6. as 6! mod 16 =0. Chúng ta sẽ sử dụng cách tiếp cận chung để giải quyết vấn đề này. đếm lặp đi lặp lại 1!, 2!,…. N! và kiểm tra tính chất chia hết bằng cách sử dụng x. Nếu mô-đun là 0, hãy dừng lại và trả về số.

Ví dụ

#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);
}

Đầu ra

Minimum value of N is: 6