我们必须找到第一个自然数,其阶乘数可被x整除。x由用户给定。因此,如果x = 16,则输出将为6,即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