Gia sư Cần Thơ, Dạy Kèm Cần Thơ

VỮNG TIN - TIẾP BƯỚC - THÀNH CÔNG


Bài 31. Số nguyên tố

Share
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Bài 31. Số nguyên tố

Bài gửi  admin on Sun Oct 03, 2010 11:49 am

KIỂM TRA NGUYÊN TỐ


ĐỊNH NGHĨA
Một số được gọi là số nguyên tố nếu nó chỉ chia hết cho 1 và chính nó.
THUẬT TOÁN
Kiểm tra số n tố hay không. Ta lấy n chia lần lượt cho i=2,3,...,sqrt(n) nếu tồn tại một số i sao cho n%i==0 thì n không phải là nguyên tố, ngược lại n là số nguyên tố.
CHƯƠNG TRÌNH MẪU CÀI ĐẶT BẰNG VÒNG LẶP FOR
Code:
#include "conio.h"
#include "stdio.h"
#include "math.h"

void main(){
    clrscr();
    unsigned int n,t;
    char ch = 1;
    printf("Nhap vao n = ");
    scanf("%d",&n);
    t = sqrt(n);
    for(int i = 2; i<=t; i++)
        if(n%i==0)
            ch = 0;
    if(ch)
        printf("%d la so nguyen to.",n);
    else
        printf("%d khong la so nguyen to.",n);
    getch();


Được sửa bởi Admin ngày Mon Oct 11, 2010 12:10 pm; sửa lần 2.
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Cài đặt mở rộng cho lệnh for

Bài gửi  admin on Sun Oct 03, 2010 11:50 am

Code:
#include "conio.h"
#include "stdio.h"
#include "math.h"

void main(){
    clrscr();
    unsigned int n,t;
    printf("Nhap vao n = ");
    scanf("%d",&n);
    t = sqrt(n);
    for(int i = 2; i<=t && n%i!=0; i++);
    if(i>t)
        printf("%d la so nguyen to.",n);
    else
        printf("%d khong la so nguyen to.",n);
    getch();
}
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Cài đặt bằng vòng lặp while

Bài gửi  admin on Sun Oct 03, 2010 11:51 am

Code:
#include "conio.h"
#include "stdio.h"
#include "math.h"

void main(){
    clrscr();
    unsigned int n,i,t;
    printf("Nhap vao n = ");
    scanf("%d",&n);
    i = 2;
    t = sqrt(n);
    while(i<=t && n%i!=0)
        i++;
    if(i>t)
        printf("%d la so nguyen to.",n);
    else
        printf("%d khong la so nguyen to.",n);
    getch();
}
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Chương trình con kiểm tra số nguyên tố

Bài gửi  admin on Sun Oct 03, 2010 11:54 am

Hàm kiểm tra nguyên tố:
- Hàm trả về giá trị 1 nếu n là số nguyên tố.
- Hàm trả về giá trị 0 nếu n không phải là số nguyên tố.
CODE MẪU
Code:
//ham tra ve gia tri 1 neu n la nguyen to nguoc lai 0
char NguyenTo(unsigned int n) {
    unsigned int t = sqrt(n), i =2;
    while(i<=t && n%i!=0)
        i++;
    if(i>t)
        return 1;
    else
        return 0;
}
avatar
admin
Admin
Admin

Tổng số bài gửi : 1207
Points : 3010
Join date : 11/11/2009
Age : 36
Đến từ : Cần Thơ

Tổng nguyên tố - Sử dụng vòng lặp while

Bài gửi  admin on Sun Oct 03, 2010 11:57 am

TỔNG CÁC SỐ LÀ NGUYÊN TỐ TRONG N SỐ

Viết chương trình nhập vào n số nguyên dương, n nhập từ bàn phím. Tính tổng tất cả các số là nguyên tố trong n số vừa nhập.
CHƯƠNG TRÌNH MẪU
Code:
#include "conio.h"
#include "stdio.h"
#include "math.h"

//ham tra ve gia tri 1 neu n la nguyen to nguoc lai 0
char NguyenTo(unsigned int n) {
    unsigned int t = sqrt(n), i =2;
    while(i<=t && n%i!=0)
        i++;
    if(i>t)
        return 1;
    else
        return 0;
}
void main(){
    clrscr();
    unsigned int n,x,S;
    printf("Nhap vao n = ");
    scanf("%d",&n);
    S = 0;
    int i = 1;
    while(i<=n)
    {
        printf("Nhap phan tu %d = ",i);
        scanf("%d",&x);
        if(NguyenTo(x))
            S+= x;
        i++;
    }
    printf("S = %d",S);
    getch();
}

Sponsored content

Re: Bài 31. Số nguyên tố

Bài gửi  Sponsored content


    Hôm nay: Thu May 24, 2018 10:37 pm