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 }

你可能感兴趣的:(HDU)