Số hoàn hảo

Xem dạng PDF

Gửi bài giải

Điểm: 5,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

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= 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:

  • Nhập vào một số nguyên dương N

Output:

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

Example:

Input:

6

Output:

YES

Constraints:

~0 < N \le 10^{18}~


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    hieuln2011  đã bình luận lúc 29, Tháng 8, 2024, 12:44

    anh chỉ cách làm vs


    • 1
      LongNai  đã bình luận lúc 29, Tháng 8, 2024, 12:49

      bày đến mức nớ rồi mà còn ko làm đc nữa thì chịu, nếu em ko hiểu cách của anh thì cứ hỏi :) Kem đánh răng P/S : đa số ai cũng làm giống cách của anh cả :))


      • -1
        hieuln2011  đã bình luận lúc 29, Tháng 8, 2024, 13:34

        anh coi em thiếu ở mô mà test 4 quá thời gian với ạ


        • 3
          LongNai  đã bình luận lúc 29, Tháng 8, 2024, 14:24

          tất nhiên là phải TLE rồi họ giới hạn n <= 10^8 mà em, quá thời gian là đúng rồi, em áp dụng cách anh á 1: Tạo 1 mảng cho các số hoàn hảo trong giới hạn <= 10^8 xong nhập n duyệt n qua các ptu của mảng, nếu n == 1 phần tử nào đó trong mảng thì in ra YES và kết thúc chương trình hoặc cách if else cũng đc em nhưng mà cái cách anh bày là ko phải là thuật toán chỉ là mẹo thôi nên em cần bt cái định lý để có thể tính đc số hoàn hảo và bt cách áp dụng định lý nào vào để code, em nhấp chuột vô đây là đc => Định lý Euclid-Euler đọc xong phải hiểu chứ ko phải là đọc cho có nha em. (à có mấy cái em chưa bt thì gg tìm hiểu về nó nếu ko thấm nổi thì thôi nhưng mà cũng phải hiểu đc định lý này)


          • -1
            hieuln2011  đã bình luận lúc 4, Tháng 9, 2024, 9:53

            anh giúp em làm full test đc ko


  • -1
    tranquoctuan123  đã bình luận lúc 27, Tháng 8, 2024, 9:37

    SUGGEST:6,28,496,8128,2^12(2^13-1),2^16(2^17-1),2^18*(2^19-1).

    Tôi đã nộp sai cả chục lần để làm đúng dù đã biết cả 7 số này,sau khi làm được muốn lưu lại làm kỷ niệm.


  • -2
    abcnickname  đã bình luận lúc 28, Tháng 7, 2024, 12:59

    dễ ý mà đừng sử dụng công thức là được :)


    • -1
      LongNai  đã bình luận lúc 28, Tháng 7, 2024, 13:07

      Đúng rồi có sử dụng công thức đâu bro, chỉ sử dụng định lý thôi :)) (Hoặc là if else hehe)


      • -1
        hieuln2011  đã bình luận lúc 28, Tháng 8, 2024, 14:29

        anh chỉ em cách làm vs


        • -1
          LongNai  đã bình luận lúc 29, Tháng 8, 2024, 1:42

          tạo 1 mảng hoặc hàm hoặc if else cho 6 hoặc 7 số hoàn hảo vào và kiểm tra thôi