Yêu cầu:
Một số hoàn hảo là một số có tổng các ước số của nó bằng chính số đó. Hãy tìm số hoàn hảo nhỏ hơn 5000. Ví dụ: 6 có các ước số là 1, 2, 3 và 6 = 1 + 2 + 3.
Thuật toán:
– Tìm các ước số của số đó. Sau đó tính tổng các ước số.
– So sánh tổng các ước số với số đó. In kết quả ra màn hình.
Code:
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 |
/************************************************************ #include "stdio.h" #include "conio.h" void main() { int N; int i, j, sum; do { printf("\n Nhap vao so N = "); scanf("%d", &N); } while(N <= 0); for(i = 2; i <= N; i++) { sum = 1; for(j = 2; j <= i/2; j++) { if(i%j == 0) sum += j; } if(sum == i) printf("\n %d", i); } getch(); } |
Kết quả:
1 2 3 4 |
Nhap vao so N = 5000 6 28 496 |
Leave a Reply