Tìm ước số lẻ lớn nhất của một số bằng Python
Hãy viết chương trình tìm ước số lẻ lớn nhất của một số bằng ngôn ngữ Python. Ví dụ ta nhập số 50 thì ước số lẻ lớn nhất của nó sẽ là 25, nhập số 51 thì ước số lẻ lớn nhất là 51.
Bài giải
-------------------- ######## --------------------
Để giải bài này trong Python thì ta thực hiện theo các bước như sau.
Bước 1: Yêu cầu người dùng nhập vào số N bằng hàm input.
Bước 2: Lặp từ N trở về 1, số lẻ đầu tiên chia hết cho N chính là kết quả cần tìm.
Thực ra bạn cũng có thể lặp từ 1 đến N, tuy nhiên như vậy sẽ không tối ưu.
Bài viết này được đăng tại [free tuts .net]
Bài giải như sau:
# HỌC PYTHON TẠI FREETUTS.NET # TÁC GIẢ: CƯỜNG NGUYỄN print("Chương trình đăng tại freetuts.net!") print("Nhập vào số N: ") n = int(input()) result = 0 for i in range(n+1, 1, -1): if (n % i == 0 and i % 2 != 0): result = i break print("Ước số lẻ lớn nhất của ", n, " là: ", result)
Kết quả khi bạn nhập vào số 50 thì kết quả sẽ in ra số 25, vì 25 là ươc số lẻ lớn nhất của 50:
Danh sách bài tập Python cơ bản
- Kiểm tra dữ liệu là number hay string bằng Python
- Tính tổng S(n) = 1 + 2 + 3 + … + n bằng Python
- Tính tổng S(n) = 1^2 + 2^2 + … + n^2 bằng Python
- Tính tổng S(n) = 1 + ½ + 1/3 + … + 1/n bằng Python
- Tính tổng S(n) = ½ + ¼ + … + 1/2n bằng Python
- Tính tổng S(n) = 1/3 + 1/5 + … + 1/(2n + 1)
- Liệt kê tất cả các ước số của số nguyên dương n bằng Python
- Tính tổng tất cả các ước số của số nguyên dương N bằng Python
- Tìm ước số lẻ lớn nhất của một số bằng Python
- Kiểm tra một số có phải là số hoàn hảo bằng Python
- Kiểm tra số chính phương bằng Python
- Kiểm tra số nguyên tố bằng Python
- Đảo ngược một số bằng Python
- In ra từng ký tự của một số bằng Python
- Giải phương trình bậc nhất một ẩn bằng Python (ax + b = 0)
- Giải phương trình bậc hai một ẩn bằng Python (ax^2 + bx + c = 0)