Kiểm tra các chữ số của số nguyên dương n có tăng dần từ trái sang phải hay không trong Python và C++

Để kiểm tra xem các chữ số của số nguyên dương ntăng dần từ trái sang phải hay không, bạn có thể sử dụng một phương pháp đơn giản bằng cách sử dụng phép chia và so sánh các chữ số. Dưới đây là phương pháp chi tiết:

  1. Kiểm tra số nguyên dương: Đảm bảo rằng n là một số nguyên dương (lớn hơn 0).
  2. Lấy chữ số cuối cùng và gán cho biến prev_digit: Sử dụng phép chia n % 10 để lấy chữ số cuối cùng của n và gán giá trị này cho biến prev_digit. Ban đầu, bạn có thể gán prev_digit bằng 10 (một giá trị lớn hơn bất kỳ chữ số nào).
  3. Lặp qua các chữ số còn lại của n: Sử dụng một vòng lặp để lặp qua các chữ số còn lại của n. Trong mỗi vòng lặp, lấy chữ số cuối cùng của n và so sánh nó với prev_digit. Nếu chữ số hiện tại không lớn hơn prev_digit, đánh dấu rằng không tăng dần và thoát khỏi vòng lặp. Nếu chữ số hiện tại lớn hơn prev_digit, cập nhật prev_digit và tiếp tục lặp.
  4. Kết luận kiểm tra: Sau khi kết thúc vòng lặp, kiểm tra xem đã kiểm tra qua tất cả các chữ số của n và không có chữ số nào không tăng dần. Nếu điều này đúng, thì số n có các chữ số tăng dần từ trái sang phải; ngược lại, nó không có các chữ số tăng dần.

Kiểm tra các chữ số của số nguyên dương n có tăng dần từ trái sang phải hay không trong Python





















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

# Đảm bảo n là số nguyên dương
if n <= 0:
    print("Vui lòng nhập số nguyên dương.")
else:
    is_increasing = True  # Biến kiểm tra sự tăng dần, ban đầu đặt là True
    prev_digit = 10  # Biến để lưu chữ số trước đó, ban đầu đặt là 10 (lớn hơn bất kỳ chữ số nào)

    while n > 0:
        digit = n % 10  # Lấy chữ số cuối cùng của n
        if digit >= prev_digit:
            is_increasing = False  # Nếu có chữ số không tăng, đặt biến is_increasing thành False
            break
        prev_digit = digit  # Lưu chữ số hiện tại để so sánh ở lần lặp tiếp theo
        n //= 10  # Loại bỏ chữ số cuối cùng của n

    if is_increasing:
        print("Các chữ số của số nguyên dương n tăng dần từ trái sang phải.")
    else:
        print("Các chữ số của số nguyên dương n không tăng dần từ trái sang phải.")

Trong ví dụ này:

  1. Bạn nhập số nguyên dương n từ người dùng và đảm bảo rằng n là số nguyên dương (lớn hơn 0).
  2. Chúng ta khởi tạo biến is_increasing để kiểm tra xem các chữ số của n có tăng dần từ trái sang phải hay không, ban đầu đặt là True.
  3. Chúng ta sử dụng biến prev_digit để lưu chữ số trước đó và ban đầu đặt là 10 (lớn hơn bất kỳ chữ số nào).
  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 và so sánh nó với prev_digit. Nếu có chữ số nào không tăng, chúng ta đặt is_increasing thành False và thoát khỏi vòng lặp ngay lập tức.
  5. Cuối cùng, chúng ta kiểm tra giá trị của is_increasing và in thông báo tương ứng về việc các chữ số của n có tăng dần từ trái sang phải hay không.
Read:   Lệnh sắp xếp trong Python và trong Scratch

Kiểm tra các chữ số của số nguyên dương n có tăng dần từ trái sang phải hay không trong C++


































#include <iostream>

int main() {
    unsigned int n;  // Số nguyên dương n
    std::cout << "Nhập số nguyên dương n: ";
    std::cin >> n;  // Nhập số nguyên dương từ người dùng

    // Đảm bảo n là số nguyên dương
    if (n <= 0) {
        std::cout << "Vui lòng nhập số nguyên dương." << std::endl;
        return 0;
    }

    bool is_increasing = true;  // Biến kiểm tra sự tăng dần, ban đầu đặt là true
    int prev_digit = 10;       // Biến để lưu chữ số trước đó, ban đầu đặt là 10 (lớn hơn bất kỳ chữ số nào)

    while (n > 0) {
        int digit = n % 10;  // Lấy chữ số cuối cùng của n
        if (digit >= prev_digit) {
            is_increasing = false;  // Nếu có chữ số không tăng, đặt biến is_increasing thành false
            break;
        }
        prev_digit = digit;  // Lưu chữ số hiện tại để so sánh ở lần lặp tiếp theo
        n /= 10;             // Loại bỏ chữ số cuối cùng của n
    }

    if (is_increasing) {
        std::cout << "Các chữ số của số nguyên dương n tăng dần từ trái sang phải." << std::endl;
    } else {
        std::cout << "Các chữ số của số nguyên dương n không tăng dần từ trái sang phải." << std::endl;
    }

    return 0;
}

 

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 *