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

308


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ố")

Giải Tin học 10 Bài 32: Ôn tập lập trình Python - Kết nối tri thức (ảnh 1)

Hình 1. Chương trình

Giải Tin học 10 Bài 32: Ôn tập lập trình Python - Kết nối tri thức (ảnh 1)

Hình 2. Kết quả chạy thử

Bài viết liên quan

308