Tìm số hoàn hảo nhỏ hơn 5000

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:

/************************************************************
* Author: VNCODING
* History 
* 2014/03/17 first create VNCODING
*************************************************************/
#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ả:

Nhap vao so N = 5000
6
28
496

1 Comment on Tìm số hoàn hảo nhỏ hơn 5000

Leave a Reply to Quang Huy Cancel reply