Thứ Ba, 1 tháng 12, 2015

Bài 30: Cho số nguyên dương n. Kiểm tra xem n có phải là số hoàn thiện hay không


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <conio.h>

void main()
{
 int n, i = 1, S = 0;
 printf("Nhap n: ");
 scanf("%d",&n);
 while (i < n)
 {
  if(n % i == 0)
  {
   S = S + i;
  }
  i++;
 }
 if(S == n)
 {
  printf("La so hoan thien!");
 }else
 {
  printf("Khong la so hoan thien!");
 }
 getch();
}
/*
Ý tưởng: tìm các ước số của n nhỏ hơn chính n, rồi đem cộng các ước số vừa tìm
lại mà bằng n là "Số hoàn thiện" ngược lại!
*/
004