Em muốn cải tiến thuật toán kiểm tra số hoàn thiện để test những số lớn thì phải làm thế nào ạ ?
// Kiểm tra xem số nguyên dương n có phải số hoàn thiện hay không ?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
int main() {
_int64 n = 0;
do {
printf("\n Nhap mot so nguyen duong: ");
scanf("%lld", &n);
} while (n < 1);
_int64 S = 1;
for (_int64 i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
S += i;
}
}
if (S == n) {
printf("\n %lld la so hoan thien", n);
}
else {
printf("\n %lld khong phai la so hoan thien", n);
}
_getch();
return 0;
}