Trang chủ Tin Học Lớp 9 Cộng tất cả các số lại với nhau để ra...

Cộng tất cả các số lại với nhau để ra số hoàn thiện dùng def để kiểm tra. Ngôn ngữ python 3 Ai giỏi tin giúp em với ạ câu hỏi 4638750 - hoctapsgk.com

Câu hỏi :

Cộng tất cả các số lại với nhau để ra số hoàn thiện dùng def để kiểm tra. Ngôn ngữ python 3 Ai giỏi tin giúp em với ạ

Lời giải 1 :

# Một cách làm khác (Dù nhìn phức tạp hơn nhưng lại có thời gian chạy nhanh hơn)

# Ý tưởng: Tách số đó thành thừa số nguyên tố. Áp dụng hàm tính tổng các ước nguyên dương của một số cho trước, sau đó trừ đi chính số đó và kiểm tra. (VD: Với 33550336 thì thuật này tốn 6s còn thuật thông thường mất 12s hoặc với số 8589869056 thì thuật này chỉ mất 10s còn thuật thông thường mất rất lâu [Định để nó chạy xong nhưng hơn 1 phút chưa xong]. Một ví dụ khác để )

Code:

def phanTichSNT(n):
    i = 2;
    listNumbers = [];
    while (n > 1):
        if (n % i == 0):
            n = int(n / i);
            listNumbers.append(i);
        else:
            i = i + 1;
    if (len(listNumbers) == 0):
        listNumbers.append(n);
    return listNumbers;
def tongUoc(n):
    res = 1
    lst = phanTichSNT(n)
    for x in list(set(lst)):
        res *= (x**(lst.count(x)+1)-1)//(x-1)
    return res - n
def soHoanThien(n):
    return f"{n} là số hoàn thiện" if tongUoc(n) == n else f"{n} không là số hoàn thiện"
print(soHoanThien(int(input())))

image

Thảo luận

-- """ hay ''' < nội dung > """ hay '''
-- # chú thích cho 1 dòng
-- ok, tks lần sau sẽ rút kinh nghiệm.
-- Cậu đang viết văn chú thích nên dùng cách trên nhé
-- Oki la
-- Thật ra thì cái ''' nó không phải là chú thích đâu mà là string nhiều dòng.
-- Um
-- https://hoidap247.com/cau-hoi/4638998 Ai vô làm đi :)) Dễ lắm :))

Lời giải 2 :

#Số hoàn thiện , hoàn hảo là số mà ước của nó cộng lại bằng chính nó

# Ví dụ, ước của 6 là 1,2,3,6 và ước chính thức là 1,2,3 ( ước khác nó)

#=> số 6 là số hoàn hảo vì có ước thực sự là 1+2+3 = 6 => bằng chính nó

#Vì vậy, ta chạy vòng lặp từ 1 đến n - 1, tính tổng ước và dùng if else để xét

#test : 6=> trả về số hoàn hảo

#test 5 => trả về không là số hoàn hào

#code - gracias

#Cái  import math bỏ nhé
def nombre_parfait(n) :
    s=0
    for i in range(1,n):
        if n % i == 0 :
            s+=i 
    if s == n :
        return True
    else :
        return False
n=int(input('n='))
if nombre_parfait(n) == True :
    print('La so hoan hao')
else :
    print('Khong la so hoan hao')

image
image
image

Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự 9

Lớp 9 - Là năm cuối ở cấp trung học cơ sở, sắp phải bước vào một kì thi căng thẳng và sắp chia tay bạn bè, thầy cô và cả kì vọng của phụ huynh ngày càng lớn mang tên "Lên cấp 3". Thật là áp lực nhưng các em hãy cứ tự tin vào bản thân là sẻ vượt qua nhé!

Nguồn : ADMIN :))

Copyright © 2021 HOCTAP247