Kiểm tra số nhập vào từ bàn phím có phải la số nguyên dương hay không

Lorem ipsum dolor sit amet, consectetur adipiscing elit.Morbi adipiscing gravdio, sit amet suscipit risus ultrices eu.Fusce viverra neque at purus laoreet consequa.Vivamus vulputate posuere nisl quis consequat.

Create an account

Bài toán:

Hãy nhập vào một sốbất kỳ và xác định xem số đó có phải số nguyên hay không?

Video tham khảo:

Code tham khảo:

Phân tích: Số nguyên là số không có phần thập phân hay nói cách khác phần thập phân của nó bằng không. Từ đó suy ra nếu một số nào đó mà phần nguyên của nó bằng chính nó thì số đó là số nguyên. Trong lập trình để lấy phần nguyên của một số ta chỉ cần ép kiểu của số đó sang kiểu dữ liệu int.

#include main[]{ ///Hãy nhập vào một số N bất kỳ và kiểm tra xem N ///có phải là số nguyên hay không? ///Số nguyên là số có phần thực = 0, vậy suy ra ///nếu N-[int]N == 0 => N là số nguyên. float N; printf["\nMoi ban nhap mot so bat ky: "]; scanf["%f",&N]; if[N==[int]N]{ printf["\n%g la so nguyen",N]; }else{ printf["\n%g khong phai la so nguyen",N]; } return 0; }

Làm quen cách viết các chương trình đơn giản, cách sử dụng:

  • CÂU ĐIỀU KIỆN IF
  • VÒNG LẶP FOR

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à các số nguyên tố, trong đó số 2 là số nguyên tố chẵn duy nhất. 

Cũng như tính chất của số nguyên dương, chúng ta chỉ tìm thấy số nguyên tố nhỏ nhất chứ không thể 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ố 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

Chủ Đề