Untitled
unknown
c_cpp
4 years ago
841 B
5
Indexable
#include <iostream> using namespace std; int findMaxGCD(int arr[], int n) { int h = 0; for (int i = 0; i < n; i++) { h = max(h, arr[i]); } int d[h + 1] = { 0 }; for (int i = 0; i < n; i++) { for (int j = 1; j * j <= arr[i]; j++) { if (arr[i] % j == 0) { d[j]++; if (j != arr[i] / j) d[arr[i] / j]++; } } } for (int i = h; i >= 1; i--) { if (d[i] > 1) { return i; } } } int main() { int n; cin >> n; int arr[n]; for(int i=0; i<n; i++) { cin >> arr[i]; } cout << findMaxGCD(arr, n+1) << "\n"; }
Editor is loading...