1197. 完美数

单点时限: 2.0 sec

内存限制: 256 MB

“ 金无足赤,人无完人 ”,任何人都不是完美的。可是有些数却似乎是完美的,被称为 “ 完美数 ”。

完美数是 1 个数刚好等于他的所有约数+1 的值(即除了它本身外所有因数的和)。

比如:6 有 2 和 3 两个约数,而且 6=2+3+1,所以 6 是一个完美数。

28 的约数是 2,4,7,14,28=2+4+7+14+1,所以 28 是完美数

完美数具有很多有趣的性质:

1、他们都可以写成连续的自然数的和:6=1+2+3;28=1+2+3+4+5+6+7;

2、他们的全部因数的倒数和为 2:1/1+1/2+1/3+1/6=2 1/1+1/2+1/4+1/7+1/14+1/28=2

3、至今发现所有完美数的尾数都是 6 或者 8。

当然,完美数是很少的。迄今为止,也不过发现 29 个,其它的数当然就是不完美数。不完美数可以分为两类 —— 盈数和亏数。如果一个数所有约数和加 1 大于该数本身,那么我们就叫它盈数;如果一个数所有约数和加 1 小于该数本身,那么我们就叫它亏数。

给定一个数判断它是完美数,盈数还是亏数。

(此题数据已改,若有疑问,请留言 or 发邮件,thx~)

输入格式

多组测试数据。

每组数据输入仅一行,一个整数 N(1≤N≤1000000000)。

N=0 时表示输入结束,不需处理。

输出格式

对于每组测试数据,若 N 是完美数,输出 0;若 N 是盈数,输出 1;若 N 是亏数,输出-1。

样例

Input
4
6
36
0
Output
-1
0
1

7 人解决,86 人已尝试。

10 份提交通过,共有 315 份提交。

8.9 EMB 奖励。

创建: 14 年,7 月前.

修改: 4 年,4 月前.

最后提交: 2 月,3 周前.

来源: UVa

题目标签