Liệt kê tất cả các số nguyên tố nhỏ hơn giá trị N nhập từ bàn phím

Yêu cầu:

Viết chương trình liệt kê tất cả các số nguyên tố nhỏ hơn giá trị N nhập từ bàn phím.

Thuật toán:

– Viết hàm kiểm tra số nguyên tố

– Dùng vòng lặp để in ra các 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, i;

    do
    {
        printf("\n Nhap vao so N = ");
        scanf("%d", &N);
    }
    while(N <= 0);
    printf("\n Cac so nguyen to nho hon %d :", N);
    for(i = 1; i <= N; i++)
    {
        if(so_nguyen_to(i))
            printf(" %d ", i);
    }
    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; i++)
        { 
            if(N % i == 0)
                return 0;
        }
        return 1;
    }
}

Kết quả:

Nhap vao so N = 30
Cac so nguyen to nho hon 30 : 1 2 3 5 7 11 13 17 19 23 29

7 Comments on Liệt kê tất cả các số nguyên tố nhỏ hơn giá trị N nhập từ bàn phím

  1. for i=2; i<=N/2 ; i++ mới đúng . nếu chỉ để i<N/2 thì gặp giá trị N=4 nó cũng hiểu là 4 là số nguyên tố.

Leave a Reply

Your email address will not be published.

*