• 第三届山西省赛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
     1 #include<iostream>
     2 #include<cstdio>
     3 typedef long long ll;
     4 using namespace std;
     5 ll x=1e18;
     6 int main()
     7 {
     8     int t;
     9     scanf("%d",&t);
    10     while(t--)
    11     {
    12         ll a;
    13         scanf("%lld",&a);
    14         if(a<0)
    15         printf("1
    ");
    16         else if(a>0){
    17             while((a&1)==0)a>>=1;
    18             printf("%lld
    ",a);
    19         }
    20         else printf("%lld
    ",x-1);
    21     }return 0;
    22  }
  • 相关阅读:
    [转]MySQL索引类型
    [转]数据结构(全)
    [转]数据结构基础概念篇
    [转]从零开始搭建创业公司后台技术栈
    将博客搬至CSDN
    编译android源代码(aosp)
    【Android】Fresco图片加载框架(二)————Producer
    【Android】Fresco图片加载框架(一)————源码简要分析
    TSL(SSL)相关内容
    谨慎使用AsyncTask
  • 原文地址:https://www.cnblogs.com/Surprisezang/p/8996658.html
Copyright © 2020-2023  润新知