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