The Unsolvable Problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 486 Accepted Submission(s): 280
Problem Description
There are many unsolvable problem in the world.It could be about one or about zero.But this time it is about bigger number. Given an integer n(2 <= n <= 109).We should find a pair of positive integer a, b so that a + b = n and [a, b] is as large as possible. [a, b] denote the least common multiplier of a, b.
Input
The first line contains integer T(1<= T<= 10000),denote the number of the test cases. For each test cases,the first line contains an integer n.
Output
For each test cases,print the maximum [a,b] in a line.
Sample Input
3
2
3
4
Sample Output
1
2
3
多校第三场1008
先特判n=2的情况。
然后如果n=2k+1,那么答案就是k*(k+1)
如果n=2k,那么进一步讨论。
如果k为奇数,那么答案是(k-2)*(k+2)
如果k为偶数,那么答案是(k-1)*(k+1)
1 #include<iostream> 2 3 using namespace std; 4 5 int main() 6 { 7 int t; 8 9 cin>>t; 10 11 while(t--) 12 { 13 long long x; 14 15 cin>>x; 16 17 if(x==2) 18 cout<<1<<endl; 19 else if(x%2==1) 20 cout<<(x/2)*(x/2+1)<<endl; 21 else if((x/2)%2==1) 22 cout<<(x/2-2)*(x/2+2)<<endl; 23 else 24 cout<<(x/2-1)*(x/2+1)<<endl; 25 } 26 27 return 0; 28 }