zoukankan      html  css  js  c++  java
  • JZOJ4421 aplusb

    Description

        SillyHook要给小朋友出题了,他想,对于初学者,第一题肯定是a+b 啊,但当他出完数据后神奇地发现.in不见了,只留下了一些.out,他想还原.in,但情况实在太多了,于是他想要使得[a,b] ([a,b] 表示a,b 的最小公倍数)尽可能大。

    Input

        输入文件的第一行一个整数T 表示数据组数。
        接下来T行每行一个整数n ,表示.out中的数值,即a+b=n 。

    Output

        共T行,每行一个整数表示最大的[a,b] 的值。

    Sample Input

      3
      2
      3
      4

    Sample Output

      1
      2
      3

    Data Constraint

      30%的数据满足 T<=10,n<=1000
      100% 的数据满足T<=10000 ,n<=10^9

    Solution

      若n为奇数,则a和b相差 1 最优 若n为偶数,令m = n/2,若m − 1和m + 1均为奇数,则a = m − 1, b = m + 1 否则a = m − 2, b = m + 2

     1 #include<cstdio>
     2 using namespace std;
     3 int n,m;
     4 long long xx;
     5 int main()
     6 {
     7     scanf("%d",&n);
     8     for (int i=1;i<=n;i++)
     9     {
    10         scanf("%d",&m);
    11         if (m==2) 
    12         {
    13             printf("1
    ");
    14             continue;
    15         }
    16         if (m%2!=0)
    17         {
    18             long long m1=m/2,m2=(m-m1);
    19             xx=m1*m2;
    20             printf("%lld
    ",xx);
    21         }
    22         else
    23         {
    24             m=m/2;
    25             if ((m+1)%2==0)
    26             {
    27                 long long m1=m+2,m2=m-2;
    28                 xx=m1*m2;
    29                 printf("%lld
    ",xx);
    30             }
    31             else
    32             {
    33                 long long m1=m-1,m2=m+1;
    34                 xx=m1*m2;
    35                 printf("%lld
    ",xx);
    36             }
    37         }
    38     }
    39 }
    View Code
  • 相关阅读:
    七、元素操作
    深入解读saltstack的安装及配置1
    Python3.x和Python2.x的区别
    用python3破解wingIDE
    saltstack配置安装的一些关键步骤及安装时各种报错的分析
    中文+django1.9+python3.5一些注意点
    整合git与wingIDE(代码下载)
    python代码编程规范
    centos7虚拟机无法上网的解决办法
    python开源包提交到pypi社区
  • 原文地址:https://www.cnblogs.com/Tokisaki-Kurumi/p/9532908.html
Copyright © 2011-2022 走看看