Câu hỏi:
13/07/2024 2,419
Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố khác nhau của n theo hàng ngang trên màn hình. Ví dụ:
- Nếu n = 10 thì in ra 2 5.
- Nếu n = 12 thì in ra 2 3.
Em hãy viết chương trình nhập số tự nhiên n > 1, sau đó in ra tất cả các ước số nguyên tố khác nhau của n theo hàng ngang trên màn hình. Ví dụ:
- Nếu n = 10 thì in ra 2 5.
- Nếu n = 12 thì in ra 2 3.
Quảng cáo
Trả lời:
Hướng dẫn:
Lưu ý đến yêu cầu của bài toán là không in tất cả các ước nguyên tố trong khai triển n thành tích các thừa số nguyên tố, mà chỉ in mỗi ước số nguyên tố một lần. Vì vậy nếu đã tìm ra được một ước nguyên tố k của n thì cần giảm n bằng cách chia n cho k cho đến khi không chia hết được nữa thì tìm tiếp sang số tiếp theo.
Chương trình có thể viết như sau:
n = int(input("Nhập số tự nhiên n: "))
print(n,":", end = " ")
k = 2
while n > 1:
while k < n and n%k != 0:
k = k +1
if k<=n and n%k == 0:
print(k, end = " ")
while n%k == 0:
n = n//k
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
- Sách - Sổ tay kiến thức trọng tâm Vật lí 10 VietJack - Sách 2025 theo chương trình mới cho 2k9 ( 31.000₫ )
- Trọng tâm Lí, Hóa, Sinh 10 cho cả 3 bộ KNTT, CTST và CD VietJack - Sách 2025 ( 40.000₫ )
- Sách lớp 10 - Combo Trọng tâm Toán, Văn, Anh và Lí, Hóa, Sinh cho cả 3 bộ KNTT, CD, CTST VietJack ( 75.000₫ )
- Sách lớp 11 - Trọng tâm Toán, Lý, Hóa, Sử, Địa lớp 11 3 bộ sách KNTT, CTST, CD VietJack ( 52.000₫ )
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Chương trình có thể viết như sau:
a = float(input("Nhập số thực dương a:"))
while a <= 0:
print("Nhập sai, số a phải lớn hơn 0. Hãy nhập lại.")
a = float(input("Nhập số thực dương a:"))
Lời giải
Hướng dẫn:
Từ yêu cầu của đề bài chúng ta sẽ thiết lập thủ tục chính printBCC() có chức năng in bảng cửu chương. Thủ tục này sẽ có hai phần độc lập, phần đầu in 5 khối thuộc hàng thứ nhất là bảng cửu chương của các số 1, 2, 3, 4, 5. Phần sau của thủ tục sẽ in 5 khối thuộc hàng thứ hai là bảng cửu chương của các số 6, 7, 8, 9, 10.
Để thể hiện chính xác và cân đối trên màn hình chúng ta thiết lập thêm hai hàm:
- Hàm st(num) để tạo xâu kí tự thể hiện số num. Nếu num là số có 1 chữ số thì st(num) sẽ chèn 1 dấu cách phía trước num.
- Hàm space(k) thể hiện k dấu cách trên màn hình.
Nhập, chạy thử và kiểm tra kết quả chương trình sau:
def st(n):
if n < 10:
return" "+str(n)
else:
return str(n)
def space(k):
return" "*k
def printBCC():
for h in range (10):
i = h+1
for j in range (1,6):
print(st(j) + " x " + st(i) + " = " + st(i*j) + space(2), end = " ")
print()
print()
for h in range(10):
i = h+1
for j in range (6,11):
print(st(j) + " x " + st(i) + " = " + st(i*j) + space(2), end = " ")
print()
# Chương trình chính
printBCC()
* Chương trình nhập lên phần mềm lập trình Python:
* Kết quả chạy thử chương trình:
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.