Tìm chữ số lớn nhất của số tự nhiên n trong Python và C++

Trong lập trình, để tìm chữ số lớn nhất của số tự nhiên n, chúng ta sử dụng vòng lặp và biến để duyệt qua từng chữ số của n. Bắt đầu với giá trị 0 hoặc số tự nhiên đầu tiên của n làm giá trị lớn nhất, chúng ta lặp qua tất cả các chữ số bằng cách lấy phần dư của n cho 10 và so sánh với giá trị lớn nhất hiện tại. Nếu chữ số hiện tại lớn hơn, chúng ta cập nhật giá trị lớn nhất. Sau mỗi vòng lặp, chúng ta loại bỏ chữ số cuối cùng của n bằng cách chia n cho 10. Quá trình này tiếp tục cho đến khi chúng ta đã kiểm tra tất cả các chữ số của n. Cuối cùng, giá trị lớn nhất chứa chữ số lớn nhất của n và được trả về hoặc in ra màn hình. Quá trình này giúp xác định một cách đơn giản và hiệu quả chữ số lớn nhất của số tự nhiên n.

Tìm chữ số lớn nhất của số tự nhiên n trong Python














n = int(input("Nhập số tự nhiên n: "))  # Nhập số tự nhiên từ người dùng

# Đảm bảo n là số không âm
n = abs(n)

largest_digit = 0  # Khởi tạo biến để lưu chữ số lớn nhất

while n > 0:
    digit = n % 10  # Lấy chữ số cuối cùng của n
    if digit > largest_digit:
        largest_digit = digit  # Cập nhật chữ số lớn nhất nếu cần
    n //= 10  # Loại bỏ chữ số cuối cùng của n

print("Chữ số lớn nhất của số tự nhiên n là:", largest_digit)

Trong ví dụ này:

  1. Bạn nhập số tự nhiên n từ người dùng.
  2. Chúng ta đảm bảo rằng n là số không âm bằng cách sử dụng hàm abs().
  3. Khởi tạo biến largest_digit để lưu chữ số lớn nhất, ban đầu gán giá trị là 0.
  4. Sử dụng một vòng lặp while để lặp qua từng chữ số của n. Trong mỗi vòng lặp, chúng ta lấy chữ số cuối cùng của n bằng cách sử dụng phép chia % 10. Sau đó, chúng ta so sánh chữ số này với largest_digit và cập nhật largest_digit nếu chữ số đó lớn hơn. Cuối cùng, loại bỏ chữ số cuối cùng của n bằng cách chia n cho 10.
  5. Sau khi vòng lặp kết thúc, largest_digit sẽ chứa chữ số lớn nhất của n, và chúng ta in giá trị này ra màn hình.
Read:   Thuật toán tìm giá trị lớn nhất (Max), giá trị nhỏ nhất (Min) - Minh họa trong Python và Scratch

Tìm chữ số lớn nhất của số tự nhiên n trong C++




























#include <iostream>

int main() {
    unsigned int n;  // Số tự nhiên n (không âm)
    
    // Nhập số tự nhiên từ người dùng
    std::cout << "Nhập số tự nhiên n: ";
    std::cin >> n;

    if (n == 0) {
        std::cout << "Số 0 không có chữ số lớn nhất." << std::endl;
        return 0;
    }

    int max_digit = 0;  // Khởi tạo biến lưu chữ số lớn nhất, ban đầu là 0

    while (n > 0) {
        int digit = n % 10;  // Lấy chữ số cuối cùng của n
        if (digit > max_digit) {
            max_digit = digit;  // Cập nhật chữ số lớn nhất nếu cần
        }
        n /= 10;  // Loại bỏ chữ số cuối cùng của n
    }

    std::cout << "Chữ số lớn nhất của số tự nhiên n là: " << max_digit << std::endl;

    return 0;
}

Giải thích các dòng lệnh

  1. Bạn nhập số tự nhiên n từ người dùng.
  2. Chúng ta đảm bảo rằng n là số tự nhiên không âm.
  3. Khởi tạo biến max_digit để lưu chữ số lớn nhất, ban đầu gán giá trị là 0.
  4. Sử dụng một vòng lặp while để lặp qua từng chữ số của n. Trong mỗi vòng lặp, chúng ta lấy chữ số cuối cùng của n bằng cách sử dụng phép chia % 10. Sau đó, so sánh chữ số này với max_digit và cập nhật max_digit nếu chữ số đó lớn hơn. Cuối cùng, loại bỏ chữ số cuối cùng của n bằng cách chia n cho 10.
  5. Sau khi vòng lặp kết thúc, max_digit sẽ chứa chữ số lớn nhất của n, và chúng ta in giá trị này ra màn hình.
Read:   Đếm số chữ số của số nguyên dương n - Minh họa bằng Python và Scratch
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *