Computer >> Máy Tính >  >> Lập trình >> C ++

C ++ Chương trình tìm chữ số nhỏ nhất trong một số nhất định

Cho một số không âm, nhiệm vụ là tìm chữ số nhỏ nhất của nó.

Ví dụ

Đầu vào:

N = 154870

Đầu ra:

0

Giải thích: Trong số '154870' đã cho, chữ số nhỏ nhất là '0'.

Phương pháp tiếp cận để giải quyết vấn đề này

Cách tiếp cận đơn giản nhất để giải quyết vấn đề này là trích xuất chữ số cuối cùng trong số đã cho bằng cách sử dụng phần dư định lý . Trong khi duyệt qua số, chúng tôi sẽ kiểm tra xem chữ số được trích xuất có nhỏ hơn chữ số cuối cùng hay không, sau đó trả về kết quả.

  • Lấy một số n làm đầu vào.
  • Một hàm số nguyên small_digit (int n) lấy 'n' làm đầu vào và trả về chữ số nhỏ nhất trong một số đã cho.
  • Bây giờ hãy khởi tạo min là chữ số cuối cùng của số đã cho.
  • Lặp lại số và kiểm tra xem số được trích xuất có nhỏ hơn số tối thiểu hay không. Nếu đúng, hãy cập nhật số lượng tối thiểu và trả về kết quả đầu ra.
  • Xóa chữ số cuối cùng trước n / 10 và kiểm tra xem có chữ số nào khác nhỏ hơn chữ số hiện tại không.
  • Trả lại đầu ra.

Ví dụ

#include <iostream>
using namespace std;
int smallest_digit(int n) {
   int min = n % 10; //assume that last digit is the smallest
   n /= 10; //to start from the second last digit
   while (n != 0) {
      if (min > n % 10)
         min = n % 10;
      n /= 10;
   }
   return min;
}
int main() {
   int n = 154870;
   cout << smallest_digit(n);
   return 0;
}

Chạy đoạn mã trên sẽ tạo ra kết quả là,

Đầu ra

0

Giải thích :Trong số '154870' đã cho, chữ số nhỏ nhất là '0'.