

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
bài này đơn giản thôi sử dụng tính chất gcd(a, b, c) = gcd(a, gcd(b,c))
trong stl c++ có một hàm tên là __gcd(a, b) hàm này sẽ trả về gcd của a và b
code c++
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin >> n;
long long a[n + 1];
for (long long i = 0; i <n; i++)
{
cin >> a[i];
}
long long ans = __gcd(a[0], a[1]);
for (long long i = 2; i < n; i++)
{
ans = __gcd(ans, a[i]);
}
cout << ans;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
#include<bits/stdc++.h>
using namespace std;
map<int, int> dem;
long long i,n,j,res = 0,a,d = -1;
int main (){
cin>>n;
for(i = 1; i<=n; i++) {
cin>>a;
dem[a]++;
d = max(d,a);
}
for(i = d; i >= 1; i--) {
res = 0;
for(j = i; j<=d; j = j + i) {
res = res + dem[j];
}
if(res >= 2) {
cout<<i;
return 0;
}
}
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin