trình bày thuật toán (Liệt kê hoặc sơ đồ khối) cho bài toán sau: Tìm các số là số nguyên tố trong dãy có N số nguyên dương.

2 câu trả lời

input Số nguyên dương N

output Số N có phải là số nguyên tố hay không

b1 nhập N

b2 nếu N<2 thì N không là số nguyên tố

b3 nếu N>2 thì

b4 i←2

nếu N chia `A_([i])`  dư khác 0 thì N là số nguyên tố

nếu không thì

i←i+1

nếu i=`n/2` mà không có số chia N dư không thì kết luận là số Nguyên tố

b5 kết thúc


#include <iostream>
using namespace std;

bool KTSNT(int x)
{
 if(x<2)
  return false;
 for(int i=2; i<=x/2; i++)
  if(x%i==0)
   return false;
 return true;
}

void main()
{
 unsigned int n;
 cout<<"Nhap vao so nguyen duong n: ";
 cin>>n;
 if(KTSNT(n)==true)
  cout<< n << " la so nguyen to!";
 else
  cout<< n <<" khong la so nguyen to!";
 cout<<endl;
}
---------------------------------------------------------------------

def songuyento(_n):
    if _n < 0:
        print('Số bạn nhập không chính xác')
    elif _n == 1 or _n == 2:
        print('Đây là số nguyên tố')
    else:
        _dem = 0
        for _i in range(1,_n//2):
            if _n % _i == 0:
                _dem = _dem + 1
        if _dem == 0:
            print('Đây là số nguyên tố')
        else:
            print('Đây không là số nguyên tố')
    return

* Thuật toán :

- Bước 1 : Nhập số nguyên dương N

- Bước 2 : Nếu N = 1 thì thông báo N không phải là số nguyên tố rồi kết thúc

- Bước 3 : Nếu N < 4 thì thông báo N là số nguyên tố rồi kết thúc

- Bước 4 : i ← 2

- Bước 5 : Nếu i > [N ] thì thông báo N là số nguyên tố rồi kết thúc

- Bước 6 : Nếu N chia hết cho i thì thông báo N không là số nguyên tố rồi kết thúc

- Bước 7 : i ← i + 1 quay lại bước 5

Câu hỏi trong lớp Xem thêm