Nhiệm vụ 1. Viết chương trình nhập từ bàn phím số tự nhiên n, kiểm tra n có phải là số nguyên tố hay không. Nếu n là hợp số thì in ra kết quả phân tích n thành tích các thừa số nguyên tố. Chú ý số 1 không là nguyên tố và cũng không là hợp số.
Hướng dẫn:
Sử dụng biến danh sách NT để lưu các thửa số nguyên tố của n. Chương trình sẽ thiết lập danh sách NT chỉ khi n > 1. Kết quả của chương trình sẽ như sau:
Nếu n = 1 thị danh sách NT sẽ rỗng.
Nếu n > 1 thị danh sách NT không rỗng. Độ dài danh sách len (NT) sẽ bằng 1 khi và chỉ khi n là số nguyên tố.
Nếu len(NT) > 1 thị chương trình sẽ in ra khai triển n thành tích các thửa số nguyên tố, khai triển này sẽ có dạng: n = p1 × p2 × …× px. ( ghi ra duwowis dangj py thon cuar baif 31 sangs lowps 10 tin hocj keets noois tri thuwcs
Chào mừng bạn đến với cuộc truy tìm thừa số bí ẩn trong thế giới số học! Để thực hiện yêu cầu của bạn, chúng ta sẽ viết một chương trình Python nhập vào số tự nhiên n, kiểm tra n có phải số nguyên tố hay không, và nếu không, phát hiện các thừa số nguyên tố của nó. Nào, hãy cùng tạo ra phép màu toán học thú vị này nhé!
Đây là giải pháp của chúng tôi:
def is_prime(number):
if number <= 1:
return False
if number <= 3:
return True
if number % 2 == 0 or number % 3 == 0:
return False
i = 5
while i * i <= number:
if number % i == 0 or number % (i + 2) == 0:
return False
i += 6
return True
def prime_factors(n):
factors = []
# Check for number of 2s in n
while n % 2 == 0:
factors.append(2)
n = n // 2
# n must be odd at this point so a skip of 2 (i.e., i = i + 2) can be used in loop
i = 3
while i * i <= n:
while n % i == 0:
factors.append(i)
n = n // i
i += 2
# This condition is to check if n is a prime number
if n > 2:
factors.append(n)
return factors
def main():
n = int(input("Nhập số tự nhiên n: "))
if n == 1:
print("Danh sách NT là: []")
elif is_prime(n):
print(f"{n} là số nguyên tố.")
else:
factors = prime_factors(n)
if len(factors) > 1:
result = " × ".join(map(str, factors))
print(f"Khai triển số {n} thành tích các thừa số nguyên tố: {n} = {result}")
else:
print(f"{n} là số nguyên tố.")
if __name__ == "__main__":
main()
Giải thích chương trình:
is_prime()
được sử dụng để kiểm tra liệu n có phải là số nguyên tố hay không.prime_factors()
thực hiện phân tích số thành thừa số nguyên tố và lưu trữ chúng trong danh sách factors
.main()
quản lý nhập liệu và hiển thị kết quả thỏa mãn theo yêu cầu.Như vậy, chúng ta có thể dễ dàng xác định những thừa số ẩn giấu cùng chương trình này. Nếu bạn thích thú với trò chơi toán học hấp dẫn này, đừng ngần ngại ghé thăm trituenhantao.io để khám phá thêm nhiều chủ đề thú vị khác nhé!