

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
- Gọi `f(x)` là số lượng ước dương của `x`
- Ta có: `x = p_1^(m_1) . p_2^(m_2) .... p_k^(m_k)`
với `p_1, p_2, ..., p_k` là các số nguyên tố
`=>` `f(x) = (m_1 + 1).(m_2 + 1)...(m_k + 1)`
Để `f(x)` lẻ thì `m_1 + 1, m_2 + 1, ..., m_k + 1` cùng lẻ
hay `m_1, m_2, ..., m_k` cùng chẵn `=>` x là số chính phương
- Tóm gọn:
f(x) lẻ nếu x là số chính phương và ngược lại
- Code:
#include <iostream>
#include <cmath>
using namespace std;
#define long long long
bool f(long n) {
long t = pow(n, 0.5);
while (t * t < n) ++t;
while (t * t > n) --t;
return t * t == n;
}
int main() {
long t = 0;
cin >> t;
while (t--) {
long n;
cin >> n;
if (f(n)) cout << "LE"; else cout << "CHAN";
cout << "\n";
}
}
Hãy giúp mọi người biết câu trả lời này thế nào?

#include <iostream>
#include <math.h>
using namespace std;
long long f(long long n)
{
long long d = 0, i;
for (i = 1; i *i <= sqrt(n); i++)
if (n % i == 0) d += 2;
if (sqrt(n) == int(sqrt(n))) d -= 1;
return d;
}
int main()
{
long long m, t[101], j;
cin >> m;
for (j = 0; j < m; j++) cin >> t[j] ;
for (j = 0; j < m; j++){
if (f(t[j]) % 2 == 0) cout << "CHAN" << endl;
else cout << "LE" << endl;
}
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
78
565
32
À bạn ơi , chỗ này "#define long long long" là sao mình chx hiểu ạ
0
100
0
cái này là định nghĩa long là kiểu long long ấy giống như kiểu bạn đặt biệt danh cho người khác vậy
78
565
32
dạ , mình cảm ơn bạn ạ