Simulacrum, từ simulacrum Latin, là một sự bắt chước, giả mạo hoặc hư cấu. Khái niệm này được liên kết với mô phỏng, đó là hành động mô phỏng .Một...
Kiểm tra N có phải là số nguyên tố hay không ? | How Kteam
Mục tiêu
Làm quen cách viết những chương trình đơn thuần, cách sử dụng :
Yêu cầu bài toán
Viết chương trình nhập số nguyên dương n. Kiểm tra n có phải là số nguyên tố hay không ?
Ví dụ:
- Input: 3
- Output: 3 là số nguyên tố
Hướng dẫn
Định nghĩa
Số nguyên tố là số tự nhiên lớn hơn 1, chỉ có 2 ước là 1 và chính nó. Ví dụ : 2, 3, 5, 7, 11, … là những số nguyên tố, trong đó số 2 là số nguyên tố chẵn duy nhất .
Cũng như đặc thù của số nguyên dương, tất cả chúng ta chỉ tìm thấy số nguyên tố nhỏ nhất chứ không hề tìm thấy số nguyên tố lớn nhất .
Thuật toán
Dựa vào định nghĩa của số nguyên tố tất cả chúng ta sẽ có cách giải như sau :
-
Bước 1:
Nhập vào n
-
Bước 2:
Kiểm tra nếu n < 2 thì kết luận n không phải là số nguyên tố
-
Bước 3:
Lặp từ 2 tới
(n-1)
, nếu trong khoảng này tồn tại số mà n chia hết thì kết luận n không
phải là số nguyên tố, ngược lại n là số nguyên tố.
Lưu ý: Vẫn còn rất nhiều cách khác nhưng chung quy lại vẫn phải bám vào định nghĩa số nguyên tố là gì. Ví dụ trong vòng lặp điểm dừng sẽ là (n/2) thay vì (n-1) vì theo lý thuyết thì một số không bao giờ
chia hết cho số lớn hơn một nửa của nó. Ví dụ số 9 thì số một nửa của nó là số (9 : 2 = 4), như vậy ta chỉ cần kiểm tra các số từ 2,3,4 mà thôi, còn các số 5,6,7,8 chắc chẵn 9 sẽ không chia hết.
Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham
khảo source code mẫu để hoàn chỉnh bài tập.
Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần BÌNH LUẬN bên dưới bài viết hoặc ở mục Hỏi
& Đáp.
Source code tham khảo
// Viet chuong trinh nhap so nguyen duong n.Kiem tra n co phai la so nguyen to hay khong?
=============================================================
#include
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<
Kết luận
Bạn có thể củng cố kiến thức C++ từ khóa LẬP TRÌNH C++ CƠ BẢN.
Hoặc tìm hiểu thêm các bài tập khác trong khóa Bài toán kinh điển trong lập trình
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên
“Luyện tập – Thử thách – Không ngại khó”.
Thảo luận
Nếu bạn có bất kể khó khăn vất vả hay vướng mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI và ĐÁP trên thư viện Howkteam. com để nhận được sự tương hỗ từ hội đồng .
Source: https://vh2.com.vn
Category : Tin Học