Submission #00030
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #include<bits/stdc++.h> using namespace std; typedef long long int64; vector< int64 > Divisor(int64 n) { vector< int64 > ret; for (int64 i = 1; i * i <= n; i++) { if (n % i == 0) { ret.push_back(i); if (i * i != n) ret.push_back(n / i); } } sort(begin(ret), end(ret)); return (ret); } int main() { int N; while (cin >> N, N) { auto p = Divisor(N); int64 ret = 0; for (auto &s : p) if (s != N) ret += s; if (ret == N) puts ( "perfect number" ); else if (ret < N) puts ( "deficient number" ); else puts ( "abundant number" ); } } |
ステータス
項目 | データ |
---|---|
問題 | 0008 - 完全数 |
ユーザー名 | ei1333 |
投稿日時 | 2017-03-30 20:11:39 |
言語 | C++11 |
状態 | Accepted |
得点 | 20 |
ソースコード長 | 606 Byte |
最大実行時間 | 27 ms |
最大メモリ使用量 | 480 KB |
セット
セット | 得点 | Cases | |
---|---|---|---|
1 | ALL | 20 / 20 | * |
テストケース
ファイル名 | 状態 | 実行時間 | メモリ使用量 | # |
---|---|---|---|---|
perfect.in | AC | 27 ms | 480 KB |
1
|