HDU 2061 An easy problem(水)

题目链接

暴力枚举,a+b+a*b = N,(a+1)*(b+1) = N+1,10^5枚举起来吧。。。

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <stdlib.h>
 4 #include <math.h>
 5 #define N 1000000000
 6 int main()
 7 {
 8     int i,t,k,num;
 9     __int64 n;
10     scanf("%d",&t);
11     while(t--)
12     {
13         scanf("%I64d",&n);
14         num = 0;
15         k = (int)(sqrt(n+1));
16         for(i = 1;i <= k-1;i ++)
17         {
18             if((n+1)%(i+1) == 0)
19             num ++;
20         }
21         printf("%d\n",num);
22     }
23     return 0;
24 }
posted @ 2012-08-23 20:50  Naix_x  阅读(138)  评论(0编辑  收藏  举报