Home > Python > Python căn bản > Tìm ước số lẻ lớn nhất của một số bằng Python

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 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:

ket qua bai tap 3 JPG

Nguồn: freetuts.net

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)

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP