Số hoàn hảo

Xem PDF



Tác giả:
Dạng bài
Điểm: 100 Thời gian: 0.5s Bộ nhớ: 640M Input: bàn phím Output: màn hình

Số hoàn hảo là số mà tổng các ước của nó bằng \(2\) lần chính nó.

Ví dụ: \(6\) là số hoàn hảo vì \(6\) có tổng ước là \(1+2+3+6=12 = 2\) lần số \(6\).

Yêu cầu: Viết chương trình nhập vào số nguyên \(n\). In ra chữ YES nếu \(n\) là số hoàn hảo, ngược lại ghi chữ NO

Input

  • Một số nguyên dương \(n\)(\(n\leq 10^{12}\)).

Output

  • In ra chữ YES nếu \(n\) là s ố hoàn hảo, ngược lại ghi chữ NO.

Example

Test 1

Input
6
Output
YES

Test 2

Input
36
Output
NO

Bình luận

  • p12a3DoanLinhSan 5:55 p.m. 18 Tháng 12, 2024 đã chỉnh sửa
    CÓ CODE Đ
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary
    summary

    Trôn Việt Nam

    • p12a3DoanLinhSan 5:52 p.m. 18 Tháng 12, 2024
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary
      summary

      detail

      • blinh 12:53 a.m. 28 Tháng 9, 2024
        note

        1 số được gọi là số hoàn hảo khi số đó được biểu thị bằng công thức: 2^(p-1)×(2^p-1), với p là các số nguyên tố: 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607,..., khi đó các số nguyên tố được biểu thị dưới dạng 2^p-1 với p là các số nguyên tố như trên thì ta được một số nguyên tố Mersenne, ví dụ: khi p=3 ta được số nguyên tố Mersenne là 2³-1=7 và khi đó số hoàn hảo tương ứng là 2^(3-1)×(2³-1)=2^(3-1)×7=28

        • khai434343 8:45 a.m. 3 Tháng 6, 2024 đã chỉnh sửa

          http://www.lqdoj.edu.vn/submission_source_file/17173790802c83ff3a32.sb3
          scratch
          ai scratch thì upvote nha, ko phải scratch thì tải link rồi vào scratch ấn new project rồi Load from your computer nha

          • bachtl2023 7:26 p.m. 14 Tháng 3, 2024

            Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

            • Avocadorable 7:33 p.m. 23 Tháng 2, 2024
              import math
              
              def is_perfect_number(n):
                  if n <= 0:
                      return "NO"
                  sum_of_divisors = 1
                  for i in range(2, int(math.sqrt(n)) + 1):
                      if n % i == 0:
                          if i == n / i:
                              sum_of_divisors += i
                          else:
                              sum_of_divisors += i + (n / i)
                  if sum_of_divisors == n:
                      return "YES"
                  else:
                      return "NO"
              
              num = int(input())
              print(is_perfect_number(num))
              
              • peter 6:47 a.m. 20 Tháng 2, 2024

                import math
                n = int(input())
                sqrt_n = int(math.sqrt(n))
                t = 0
                for i in range(2, sqrt_n + 1):
                if n % i == 0:
                t += i + n // i
                if sqrt_n * sqrt_n == n:
                t -= sqrt_n
                t += 1 # Bổ sung ước 1
                if t == n:
                print('YES')
                else:
                print('NO')
                code đúng nè

                • tranthanh05012011 1:56 p.m. 6 Tháng 8, 2023

                  Mong Thầy xử lí ạ!

                  • AKhoi 6:51 p.m. 27 Tháng 7, 2023

                    import math

                    n = int(input())
                    sqrt_n = int(math.sqrt(n))
                    t = 0

                    for i in range(2, sqrt_n + 1):
                    if n % i == 0:
                    t += i + n // i

                    if sqrt_n * sqrt_n == n:
                    t -= sqrt_n

                    t += 1 # Bổ sung ước 1

                    if t == n:
                    print('YES')
                    else:
                    print('NO')

                    • trikien_ 9:18 p.m. 10 Tháng 4, 2023

                      Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.

                      • 6 bình luận nữa