Tìm chữ số đầu tiên của số nguyên n trong Python và C++

Trong lập trình, để tìm chữ số đầu tiên của một số nguyên n, ta thường sử dụng một vòng lặp hoặc một phép chia cho 10 lặp đi lặp lại. Bắt đầu bằng việc đảm bảo n là số không âm (bằng cách sử dụng hàm abs()), sau đó sử dụng một vòng lặp while để liên tục chia n cho 10 và loại bỏ chữ số cuối cùng cho đến khi n không còn lớn hơn hoặc bằng 10. Khi vòng lặp kết thúc, n sẽ chỉ còn chứa chữ số đầu tiên của số ban đầu, và bạn có thể sử dụng giá trị này cho mục đích mong muốn. Quá trình này giúp xác định một cách đơn giản và hiệu quả chữ số đầu tiên của số nguyên n

Tìm chữ số đầu tiên của số nguyên n trong Python

Cách 1: Chuyển thành chuỗi
















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

# Chuyển đổi số nguyên thành chuỗi
n_str = str(abs(n))  # Sử dụng abs() để đảm bảo số không âm

if len(n_str) > 0:
    first_digit = n_str[0] 


  # Lấy chữ số đầu tiên
    print("Chữ số đầu tiên của số nguyên n là:", first_digit)
else:
    print("Không có chữ số nào trong số nguyên n.")

Trong mã này:

  1. Bạn nhập số nguyên n từ người dùng.
  2. Chuyển đổi giá trị n thành một chuỗi n_str bằng cách sử dụng str() và đảm bảo rằng nó là số không âm bằng cách sử dụng abs().
  3. Kiểm tra xem chuỗi n_str có chứa ít nhất một ký tự (chữ số) không. Nếu có, bạn lấy ký tự đầu tiên của chuỗi để tìm chữ số đầu tiên.
  4. In ra chữ số đầu tiên hoặc thông báo nếu không có chữ số nào trong số nguyên n.

Cách 2: Không chuyển thành chuỗi







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

# Lặp để tìm chữ số đầu tiên
while n >= 10:
    n //= 10  # Loại bỏ chữ số cuối cùng bằng cách chia cho 10

print("Chữ số đầu tiên của số nguyên n là:", abs(n))

Trong mã này:

  1. Bạn nhập số nguyên n từ người dùng.
  2. Bạn sử dụng một vòng lặp while để loại bỏ lần lượt các chữ số ở cuối của n bằng cách chia n cho 10 cho đến khi n không còn lớn hơn hoặc bằng 10.
  3. Sau khi vòng lặp kết thúc, n sẽ chỉ còn chứa chữ số đầu tiên của số ban đầu. Chú ý rằng chúng ta sử dụng abs() để đảm bảo rằng giá trị là dương, bất kể n ban đầu là âm hay dương.
  4. In ra chữ số đầu tiên.
Read:   Giáo trình tự học Python và C++ từ cơ bản tới nâng cao

Tìm chữ số đầu tiên của số nguyên n trong C++



























#include <iostream>
#include <cmath>  // Sử dụng thư viện cmath để làm việc với hàm abs()

using namespace std;

int main() {
    int n;
    
    cout << "Nhập số nguyên n: ";
    cin >> n;  // Nhập số nguyên từ người dùng
    
    // Đảm bảo n là số không âm bằng cách sử dụng hàm abs()
    n = abs(n);
    
    int first_digit;
    
    // Lặp để tìm chữ số đầu tiên
    while (n >= 10) {
        n /= 10;  // Loại bỏ chữ số cuối cùng bằng cách chia cho 10
    }
    
    first_digit = n;  // Lưu chữ số đầu tiên
    
    cout << "Chữ số đầu tiên của số nguyên n là: " << first_digit << endl;
    
    return 0;
}

Trong chương trình này:

  1. Chúng ta sử dụng thư viện iostream để nhập và xuất dữ liệu và cmath để sử dụng hàm abs() để đảm bảo rằng n là số không âm.
  2. Chúng ta nhập số nguyên n từ người dùng bằng cin.
  3. Sử dụng một vòng lặp while để loại bỏ lần lượt các chữ số ở cuối của n bằng cách chia n cho 10 cho đến khi n không còn lớn hơn hoặc bằng 10.
  4. Cuối cùng, chữ số đầu tiên được lưu trong biến first_digit và được in ra bằng cout.
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 *