Chương trình kiểm tra xem số N có phải là số nguyên tố không?

Yêu cầu:

Viết chương trình kiểm tra xem số N có phải là số nguyên tố không?

Thuật toán:

– Số nguyên tố là số chỉ chia hết cho chính nó và 1.

Ví dụ: 1, 3, 5, 7, 11, 13,… là số nguyên tố

– Nếu (N%i == 0) với mọi i = ( 2 – N/2) thì N là số nguyên tố.

Code:

/************************************************************
* Author: VNCODING
* History 
* 2014/03/17 first create VNCODING
*************************************************************/
#include "stdio.h"
#include "conio.h"

int so_nguyen_to(int N);
void main()
{
    int N;
    int ketqua;
    do
    {
        printf("\n Nhap vao so N = ");
        scanf("%d", &N);
    }
    while(N <= 0);
    if(so_nguyen_to(N))
        printf("\n %d la so nguyen to", N);
    else
        printf("\n %d la khong phai so nguyen to", N);
    getch();
}
// Ham kiem tra so nguyen to
int so_nguyen_to(int N)
{ 
    int i;
    if(N == 1)
        return 1;
    else
    {
        for( i = 2; i < N/2; i++)
        { 
            if(N % i == 0)
                return 0;
        }
        return 1;
    }
}

Kết quả:

Nhap vao so N = 12
12 la khong phai so nguyen to

Nhap vao so N = 17
17 la so nguyen to

Be the first to comment

Leave a Reply

Your email address will not be published.

*