Em đang code ktra một số có phải số hoàn hảo hay không.
nếu n = 12 => không phải số hoàn hảo
nếu n = 6 => là số hoàn hảo
Tuy nhiên khi test thì mọi số nhập vào đều có kết quả là số hoàn hảo.
Em chưa hiểu mk sai ở đâu, mong mn giải đáp.
#include<stdio.h>
#include<stdbool.h>
bool so_hoan_thien(int n)
{
int S = 0;
for (int i = 0; i <= n; i++)
{
if (n % i == 0)
{
S += i;
}
}
if (S == n)
{
return true;
}
else
{
return false;
}
}
int main()
{
int n;
printf("n = ");
scanf("%d", &n);
if (so_hoan_thien)
{
printf("%d la so hoan thien", n);
}
else
{
printf("%d khong la so hoan thien", n);
}
return 0;
}