Tìm giá trị lớn nhất có toàn chữ số lẻ trong mảng

Tìm giá trị có toàn chữ số lẻ và có giá trị lớn nhất trong mảng

Bài toán: Hãy tìm giá trị thỏa điều kiện toàn chữ số lẻ và là giá trị lớn nhất thỏa điều kiện ấy trong mảng một chiều các số nguyên (nếu mảng không có giá trị thỏa điều kiện trên thì hàm trả về giá trị 0).

  • Input

  •  
  • Output

  •  

Tìm hiểu bài toán tìm giá trị có toàn chữ số lẻ lớn nhất trong mảng

Kiểm tra giá trị có toàn chữ số lẻ

Một giá trị được gọi là toàn chữ số lẻ khi các chữ số của nó không có chữ số chẵn nào. Ví dụ như các số: 1, 135, 751…

Để kiểm tra xem giá trị đó có toàn số lẻ hay không thì ta phải lấy từng chữ số của nó ra để so sánh. Ví dụ số 35 gồm hai chữ số là 3, 5 đều là các chữ số lẻ.

Xây dựng hàm kiểm tra

Ta sẽ sử dụng một vòng lặp do while để tiến hành lấy các chữ số của số nguyên n ra. Nếu gặp một chữ số chẵn thì ta sẽ trả về giá trị là false cho hàm isCheck. Ngược lại, nếu lấy tất cả các chữ số ra mà vẫn không gặp chữ số chẵn (toàn chữ số lẻ ) thì ta trả về giá trị true.

 

Hướng dẫn giải bài toán

Bây giờ ta đã có hàm isCheck dùng để kiểm tra một số có toàn giá trị lẻ hay không. Nhiệm vụ giờ chỉ cần xây dựng một hàm fun để tìm giá trị lớn nhất có toàn chữ số lẻ.

Xây dựng hàm tìm giá trị lớn nhất có toàn chữ số lẻ

Đầu tiên ta khởi tạo giá trị max bằng 0. Sau đó duyệt tất cả mảng để tìm giá trị lớn nhất có các chữ số đều là số lẻ. Nếu giá trị nào thỏa mãn điểu kiện sau

thì ta gắn giá trị a[i] cho biến max. Kết thúc hàm ta sẽ trả về giá trị max. Nếu hàm trả về giá trị 0 tức là mảng không có giá trị nào có toàn chữ số lẻ.

Full code chương trình

 

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

Similar Posts

Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments