第三届山西省赛1004 一道大水题(scanf)

一道大水题

时间限制: C/C++ 2000ms; Java 4000ms 内存限制: 65535KB

通过次数: 44 总提交次数: 1020

问题描述

Dr. Pan作为上兰帝国ACM的总负责人,对队员的队员的训练也是日常关心,他要求每周要有一位队员出一道题目。不知过了多少年,终于轮到Shiyiliang出题了,他费尽脑汁,终于出了一道大水题

给定一个偶数n,n的取值范围为[-1e18,1e18],要求一对整数x,y满足以下条件:

1.x*y==n

2.x与n必须同号,即如果n>0则x>0,n<0则x<0

3.x必须为偶数,y必须为奇数

4.y的取值范围为(-1e18,1e18)

5.使x的值尽可能小的情况下,y的值尽可能大

为了减轻队员的工作量,Dr. pan决定只要求输出y即可.

输入描述

第一行一个T(T<=100000)代表样例数。

接下来T行,每行一个数字代表题目中的n(-1e18<=n<=1e18,保证n为偶数)。

输出描述

输出T行。

每行一个数字代表题目中的y,该数字必须为奇数。

样例输入
1
12
样例输出
3
来源
第三届山西省大学生程序设计大赛
提示
 
 
赛后看了其他队的代码,确定自己被卡cin了。。果然以后不能用劳什子cin/cout加速,乖乖scanf吧T_T
 #include<iostream>
#include<cstdio>
typedef long long ll;
using namespace std;
ll x=1e18;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
ll a;
scanf("%lld",&a);
if(a<)
printf("1\n");
else if(a>){
while((a&)==)a>>=;
printf("%lld\n",a);
}
else printf("%lld\n",x-);
}return ;
}
上一篇:Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_index(self, locator, *indexes)


下一篇:聊聊iOS中网络编程长连接的那些事