Viết chương trình tối ưu hoá hơn nhiệm vụ 1, bài 31, theo cách sau: để tìm ước số nguyên tố nhỏ nhất chỉ cần tìm trong các số 2, 3, …, . Nếu trong dãy trên không tìm thấy ước của n thì kết lu
Trả lời vận dụng 3 trang 155 Tin học 10 sách Kết nối tri thức hay nhất, chi tiết sẽ giúp học sinh dễ dàng làm bài tập Tin học 10
Giải Tin học 10 Kết nối tri thức Bài 32: Ôn tập lập trình Python
Vận dụng 3 trang 155 Tin học 10: Nếu n là hợp số thì dễ thấy n phải có ước số nguyên tố nhỏ hơn hoặc bằng . Viết chương trình tối ưu hoá hơn nhiệm vụ 1, bài 31, theo cách sau: để tìm ước số nguyên tố nhỏ nhất chỉ cần tìm trong các số 2, 3, …, . Nếu trong dãy trên không tìm thấy ước của n thì kết luận ngay n là nguyên tố.
Lời giải:
import math
print("Nhập vào số n lớn hơn 1: ")
# Lấy dữ liệu
n = int(input())
flag = True
#Su dung cau truc re nhanh xu ly truong hop n <= 0
if (n < 2):
flag = False
elif (n == 2):
flag = True
elif (n % 2 == 0):
flag = False
else:
#Su dung vong lap for de duyet cac so tu 2 den can bac hai cua n
for i in range(2, int(math.sqrt(n))+1):
#Kiem tra tinh chia het
if n % i == 0:
flag == False
break
else:
flag == True
# In kết quả
if flag == True:
print(n, " là số nguyên tố")
else:
print(n, " không phải là số nguyên tố")
Hình 1. Chương trình
Hình 2. Kết quả chạy thử
Bài viết liên quan
- Viết chương trình nhập hai số tự nhiên Y1, Y2 là số năm, Y2 > Y1. Tính xem trong khoảng thời gian từ năm Y1 đến năm Y2 có bao nhiêu năm nhuận. Áp dụng tính xem trong thế kỉ XXI có bao nhiêu n
- Gọi ƯCLN(a, b) là hàm ƯCLN của hai số tự nhiên a, b. Dễ thấy ƯCLN(a, b) = ƯCLN(b, a%b) và nếu a> 0, ƯCLN(a, 0) = a. từ đó hãy viết chương trình nhập hai số a, b và tính ƯCLN của a và b
- Viết chương trình nhập số n, sau đó nhập danh sách tên học sinh với họ, đệm, tên. Sắp xếp tên học sinh trong lớp theo bảng chữ cái. Đưa kết quả ra màn hình
- Trong các phần mềm bảng tính điện tử, dữ liệu ngày tháng được coi là số ngày tính từ ngày 1-1-1990. Viết chương trình
- Mở rộng bài tập trong phần luyện tập như sau