Giới thiệu
Nhiệm vụ là tìm tổng các thừa số nhỏ nhất của một số đã cho
def find(ip_no): # Initilize sum with 0 output_sum = 0 fact = 2 while(fact * fact <= ip_no): while(ip_no % fact == 0): output_sum += fact ip_no /= fact fact += 1 output_sum += ip_no print("The minimum sum of factors of given number is {0}".format(output_sum) ) ip_no = int(input("Enter the number: ")) find(ip_no)
đầu ra
Giải trình
Tiếp cận
- Tìm các thừa số của số đã cho
- Thêm các yếu tố và lưu trữ giá trị trong biến tổng
- Lặp lại các bước cho tất cả các yếu tố của số đã cho
- Trả về số tiền tối thiểu
Thừa số là những số chia hết cho số đã cho để dư 0 hay có thể nói thừa số là bội của số đó
Ví dụ 1 - Nếu chúng ta được cho một số 60
Thừa số của 60 (6*10=2*3*2*5) là 2, 5 và 3
Nhưng theo đề bài ta phải tìm tổng của các thừa số chẵn nên ở ví dụ trên thừa số chẵn sẽ chỉ là 2
Ngoài ra, nếu số đã cho là số lẻ thì thừa số sẽ không phải là số chẵn
Ví dụ 2−55 là số đã cho
Thừa số của nó là 5 và 11 ta thấy cả 2 thừa số đều không chẵn nên số lẻ sẽ không có thừa số chẵn
Bây giờ chúng ta đã biết python là một ngôn ngữ nâng cao do đó nó có các mô-đun được thiết kế cho mục đích giải các hàm toán học và vì câu hỏi của chúng tôi là xử lý một bài toán nên chúng tôi phải nhập và thêm các mô-đun đó vào mã của mình
Vì vậy, trước khi viết mã của chúng tôi, hãy xem những khái niệm nào chúng tôi có thể áp dụng trong mã của mình theo câu hỏi được đưa ra cho chúng tôi. Phương pháp này sẽ giúp chúng tôi tìm ra chức năng phù hợp nhất và cải thiện cách tiếp cận của chúng tôi đối với câu hỏi
Cách tiếp cận của chúng ta nên là gì và tại sao?
Vì câu hỏi của chúng tôi hoàn toàn dựa trên các công cụ toán học nên cách tiếp cận đầu tiên của chúng tôi là tìm ra các công cụ như vậy sẽ giúp chúng tôi hoàn thành mã. Vì vậy, chúng tôi sẽ nhập mô-đun toán học cho phép chúng tôi sử dụng các chức năng
Nếu một người tiếp tục nghi ngờ về điều gì sẽ xảy ra nếu số đó là số lẻ thì chúng ta sẽ làm gì để giải quyết vấn đề này, cách tiếp cận tiếp theo của chúng ta là suy nghĩ về một tuyên bố sẽ giúp chúng ta đưa ra lựa chọn hoặc chúng ta có thể nói, đưa ra quyết định cho chúng ta và . Bây giờ hãy viết chương trình của chúng ta
TÌM TỔNG CÁC YẾU TỐ CHẲNG CỦA MỘT SỐ
Ví dụ
import math def sum_EF(N) : if (N % 2 != 0) : return 0 ut = 1 for i in range(2, (int)(math.sqrt(N)) + 1) : num = 0 sum_n = 1 num_t = 1 while (N % i == 0) : num= num + 1 N = N // i if (i == 2and num == 1) : sum_n = 0 num_t = num_t * i sum_n = sum_n + num_t ut = ut * sum_n if (N >= 2) : ut = ut * (1 + N) return ut N = 40 print(sum_EF(N))
đầu ra
NoneVì chúng tôi đã viết mã cho câu hỏi của mình, hãy hiểu một số điểm chính ngay từ đầu. Điều đầu tiên mà chúng tôi đã thêm vào mã của mình là chúng tôi đã nhập mô-đun MATH
Sau đó, điều quan trọng tiếp theo là tìm hiểu xem số được hỏi là số lẻ hay số chẵn. Vì chúng tôi biết máy tính không phải là một hệ thống thông minh nên chúng tôi phải hướng dẫn nó, đó là lý do tại sao trước tiên chúng tôi viết mã để kiểm tra số đó là số lẻ hay số chẵn
Ví dụ −
if (N % 2 != 0) : return 0Ở đây chúng tôi đã sử dụng câu lệnh IF – để kiểm tra vì vậy nếu số là số lẻ, nó sẽ trả về mã bằng 0 nếu không thì tiếp tục
Bây giờ, hãy tiếp tục với mã, giả sử chúng ta sẽ nhập một số chẵn, bây giờ công việc của chúng ta sẽ là kiểm tra các thừa số của số đã nhập bắt đầu từ 1
Bây giờ để kiểm tra các yếu tố, chúng tôi đã tạo một phạm vi và như bạn có thể thấy, chúng tôi đã viết toán. câu hỏi. đây là một hàm có sẵn trong python giúp chúng ta trả về căn bậc hai của một số
Ví dụ −
for i in range(2, (int)(math.sqrt(N)) + 1)Tiếp theo là loại bỏ các số nguyên tố (các số chỉ chia hết cho chính chúng, ví dụ 1,3,5,7, v.v.) khỏi các thừa số của số vì tất cả các số lẻ không phải là số nguyên tố, nhưng tất cả các số nguyên tố đều là số lẻ
Ví dụ −
if (N >= 2) : ut = ut * (1 + N)Return nó được sử dụng khi sẽ có một số nguyên tố
Tiếp theo, chúng tôi đã sử dụng−
if (i == 2 and num == 1) : num_sm = 0 num_tm = num_tm * i num_sm = num_sm + num_tm ut = ut * num_smđể xóa giá trị 20 mang lại giá trị 1
N=N//i − // là hàm chia sàn được sử dụng để loại bỏ các số nguyên khỏi đầu ra mà chúng ta có thể nhận được trong quá trình giải bài toán
Cuối cùng, chúng tôi đã đưa ra một giá trị trong mã với mục đích tìm ra tổng của các thừa số chẵn