首页 > 其他 > 详细

toj 3711 水题

时间:2015-04-29 00:34:20      阅读:298      评论:0      收藏:0      [点我收藏+]

注意求出来的sum就是自身的情况就好了,数据量很小,暴力打表也可以。

 1 #include <cstdio>
 2 using namespace std;
 3 
 4 int sum( int n )
 5 {
 6     int res = 0, i = 2;    
 7     while ( i * i < n )
 8     {
 9         if ( n % i == 0 )
10         {
11             res += i + n / i;
12         }
13         i++;
14     }
15     if ( i * i == n ) res += i;
16     return res + 1;
17 }
18 
19 int main ()
20 {
21     int num;
22     while ( scanf("%d", &num) != EOF )
23     {
24         for ( int i = num; ; i++ )
25         {
26             int tmp = sum(i);
27             if ( i == tmp ) continue;
28             int ttmp = sum(tmp);
29             if ( i == ttmp )
30             {
31                 printf("%d %d\n", i, tmp);
32                 break;
33             }
34         }
35     }
36     return 0;
37 }

 

toj 3711 水题

原文:http://www.cnblogs.com/huoxiayu/p/4464405.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!