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

10 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. mấy bác xem giúp e sai ở đâu mà chạy toàn ra true thế này các bác nhỉ :(((
    fb.com/sstrrikerr
    em là Thiên Bá CSGO =)))
    _______________________________________________________
    #include

    bool checkNT( int n);

    int main()
    {
    int n, i;
    scanf( “%d”, &n);
    for( i= 1; i< n; i++)
    {
    if ( checkNT( i))
    {
    printf( "%d\n", i);
    }
    }
    return 0;
    }

    bool checkNT( int n)
    {
    int i;
    if( i== 1,2)
    {
    return 1;
    }
    else
    {
    for( i= 2; i< n; i++)
    {
    if( n%i == 0)
    {
    return 0;
    break;
    }
    }
    return 1;
    }
    }

Leave a Reply