[Buổi 7][Hàm số học][HW] Bài 7: Số hoàn hảo


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Số hoàn hảo

Bối cảnh

Một số hoàn hảo bằng tổng các ước dương thực sự của nó (không tính chính nó). Ví dụ 6 có các ước thực sự 1,2,3 và 1+2+3=6.

Bài này kết hợp hàm tính tổng ước với một điều chỉnh nhỏ để bỏ chính n.

Yêu cầu

  1. Đọc số nguyên dương n.
  2. Tính tổng các ước dương nhỏ hơn n.
  3. In PERFECT nếu tổng bằng n, ngược lại in NOT PERFECT.

Yêu cầu tổ chức code

Tạo hàm isPerfect(n); có thể tái sử dụng sumDivisors(n).

Lưu ý: Online Judge chủ yếu kiểm tra tính đúng của output. Yêu cầu tổ chức code được dùng để rèn đúng kỹ năng của buổi học và sẽ được giảng viên quan sát khi chữa bài.

Input

Một số nguyên n.

Output

PERFECT hoặc NOT PERFECT.

Ràng buộc

1 ≤ n ≤ 10^10.

Ví dụ 1

Input

6

Output

PERFECT

Giải thích

Ước thực sự của 6 là 1,2,3; tổng bằng 6 nên đây là số hoàn hảo.

Ví dụ 2

Input

28

Output

PERFECT

Giải thích

Ước thực sự của 28 là 1,2,4,7,14; tổng bằng 28 nên output là PERFECT.

Thông tin học tập

  • Module: M02
  • Buổi: B07
  • Loại bài: HOMEWORK
  • Độ khó: Medium
  • Concepts: functions, divisor sum, proper divisors, square-root optimization
  • Giới hạn kiến thức: B01-B07
  • Time limit: 2 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo