

Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
using namespace std;
bool hh(int n) {
int s=1;
for (int i=2; i*i<=n; i++) {
if (n%i==0) {
s+=i+n/i;
if (i*i==n) s-=i;
}
}
return s==n;
}
int main() {
freopen("BAI3.INP","r",stdin);
freopen("BAI3.OUT","w",stdout);
int n;
cin >> n;
int a,cnt = 0;
while (n--) {
cin >> a;
cnt+=hh(a);
}
cout << cnt;
}
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;
// Hàm kiểm tra số hoàn hảo
bool isPerfect(int num) {
int sum = 1; // Khởi tạo tổng là 1 vì 1 luôn là một ước của mọi số
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
sum += i;
if (i != num / i) {
sum += num / i;
}
}
}
return sum == num;
}
// Hàm đếm số hoàn hảo trong mảng
int countPerfectNumbers(int arr[], int size) {
int count = 0;
for (int i = 0; i < size; i++) {
if (isPerfect(arr[i])) {
count++;
}
}
return count;
}
int main() {
int size;
cin >> size;
int arr[size];
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
int perfectCount = countPerfectNumbers(arr, size); // Đếm số hoàn hảo trong mảng
cout << perfectCount << endl;
return 0;
}
$\textit{#hieudior612}$
Hãy giúp mọi người biết câu trả lời này thế nào?
![]()
Bảng tin
420
1946
320
nhỡ tle thì sao