uva 10025 The ? 1 ? 2 ? ... ? n = k problem

 1 #include <cstdio>

 2 #include <cstring>

 3 #include <iostream>

 4 #include <algorithm>

 5 #define ll long long

 6 using namespace std;

 7  

 8 int t;

 9  

10 int main()

11 {

12     scanf("%d",&t);

13     while(t--)

14     {

15         ll k;

16         cin>>k;

17         if(k<0) k=-k;

18         if(k==0)

19         {

20             printf("3\n");

21         }

22         else

23         {

24             int i=0;

25             ll sum=0;

26             for(i=1; ; i++)

27             {

28                 sum+=i;

29                 if(sum>=k) break;

30             }

31             if((sum-k)%2==0)

32             {

33                 printf("%d\n",i);

34             }

35             else

36             {

37                 for(int j=i+1; ; j++)

38                 {

39                     sum+=j;

40                     if((sum-k)%2==0)

41                     {

42                         printf("%d\n",j);

43                         break;

44                     }

45                 }

46             }

47         }

48         if(t!=0) printf("\n");

49     }

50     return 0;

51 }

52  

53  
View Code

 

你可能感兴趣的:(uva)