Liệt kê các số nguyên tố có chữ số lẻ đầu tiên trong mảng

0
Liệt kê các số nguyên tố có chữ số lẻ đầu tiên trong mảng code c/c++
Liệt kê các số nguyên tố có chữ số lẻ đầu tiên trong mảng code c/c++

Bài toán: Hãy liệt kê các giá trị trong mảng một chiều các số nguyên tố có chữ số lẻ đầu tiên.

  • Input

  •  
  • Output

  •  

Hướng dẫn cách liệt kê số nguyên tố có chữ số lẻ đầu tiên

Một số thỏa mãn yêu cầu bài toán thì số đó vừa là số nguyên tố vừa có chữ số lẻ đầu tiên. Nếu các bạn chưa biết cách kiểm tra số nguyên tố thì có thể xem lại tại đây.

Bây giờ chúng ta sẽ đi xây dựng một hàm kiểm xem số nguyên đó có chữ số lẻ đầu tiên hay không.

Xây dựng hàm kiểm tra chữ số lẻ đầu tiên

Ý tưởng của mình là sẽ lấy từng chữ số của số nguyên ra đến khi gặp chữ số đầu tiên. Sau khi có chữ số đầu tiên thì ta sẽ tiến hành kiểm tra xem số đó có phải là số lẻ hay không.

Hàm isCheck sẽ trả về giá trị true nếu số nguyên number có chữ số lẻ đầu tiên và ngược lại.

Ta sẽ tiến hành lấy từng chữ số của số nguyên number ra trong vòng lặp while. Ta có thể chạy bằng tay như sau

Code tham khảo:

Code c++

Trong đoạn code trên thay vì viết isCheck(number) == true && isNguyenTo(number) == true thì để đơn giản mình lại viết như thế này cho ngắn gọn: isCheck(number) && isnguyenTo(number) hai cách viết này là giống nhau.

Code c

Lưu ý: Nếu các bạn dùng Visual Studio để code thì phải dùng hàm scanf_s thay vì scanf.

Cải thiện chương trình

Cải thiện hàm isCheck

Thay vì phải lấy ra từng chữ số để xét thì chúng ta có thể dùng string để xử lý. Khi đó chúng ta chỉ cần xét kí tự đầu tiên của chuỗi mà thôi. Các bạn có thể tham khảo cách chuyển từ int sang string tại đây.

Lưu ý: Nhớ include thêm thư viện nhé!

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

avatar
  Subscribe  
Notify of