在C ++中找到给定数组的元素阶乘的GCD
假设我们有一个包含N个元素的数组A。我们必须找到数组所有元素的阶乘的GCD。假设元素为{3,4,8,6},那么阶乘的GCD为6。在这里我们将看到窍门。由于两个数的GCD是最大数,将两个数相除,因此两个数的阶乘的GCD就是最小数本身的阶乘的值。那么3的gcd!和5!是3!=6。
示例
#include <iostream>
using namespace std;
long fact(int n){
if(n <= 1)
return 1;
return n * fact(n-1);
}
int gcd(int arr[], int n) {
int min = arr[0];
for (int i = 1; i < n; i++) {
if(min > arr[i])
min = arr[i];
}
return fact(min);
}
int main() {
int arr[] = {3, 4, 8, 6};
int n = sizeof(arr)/sizeof(arr[0]);
cout << "GCD: "<< gcd(arr, n);
}输出结果
GCD: 6
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短