Home > Lập trình > Kiểm tra số nguyên tố mạnh

Kiểm tra số nguyên tố mạnh


Số nguyên tố mạnh là số nguyên tố lớn hơn trung bình cộng của số nguyên tố liền trước và số nguyên tố liền sau nó.
Giả sử cho số nguyên tố Pn, với n là một số chỉ số thứ tự của số nguyên tố, thì pn là số nguyên tố mạnh nếu pn>(pn-1+pn+1)/2
Ví dụ: cho dãy số nguyên tố sau: 

Chỉ số 1 2 3 4 5 6 7 8 9 10 11
Số nguyên tố 2 3 5 7 11 13 17 19 23 29 31

thì số nguyên tố mạnh là các số 11, 17 và 29

#include <conio.h>
#include <iostream.h>
#include <math.h>

int nguyento(int n)
{
    int i;
    if ((n==0)||(n==1)) return 0;
    else
    {
         for (i=2; i<=sqrt(n); i++)
         if (n%i==0) return 0;
         return 1;
    }
}

int nguyentomanh(int n)
{
    int a,b;
    if (n==2) return 0;
    if (!nguyento(n)) return 0;
    else
    {
        a=n-1;
        while (!nguyento(a)) a--;
        b=n+1;
        while (!nguyento(b)) b++;
        if (n>(a+b)/2) return 1;
        else
        return 0;
    }
}

void main()
{
    clrscr();
    int n;
    cout<<"Nhap so can kiem tra:";
    cin>>n;
    if (!nguyento(n))
        cout<<n<<" khong phai la so nguyen to";
    else if    (nguyentomanh(n))
        cout<<n<<" la so nguyen to manh";
    else
        cout<<n<<" khong phai la so nguyen to manh";
    getch();
}

Hàm nguyento(n) kiểm tra 1 số nguyên n có phái là số nguyên tố hay không, nếu n là số nguyên tố, hàm trả giá trị 1, ngược lại hàm trả giá trị 0

Hàm nguyentomanh(n) kiểm tra 1 số nguyên n có phải là số nguyên tố mạnh hay không, nếu n là số nguyên tố mạnh, hàm trả giá trị 1, ngược lại lại hàm trả giá trị 0

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: