zoukankan      html  css  js  c++  java
  • 牛客练习赛51 C 勾股定理https://ac.nowcoder.com/acm/contest/1083/C

    题目描述

    给出直角三角形其中一条边的长度n,你的任务是构造剩下的两条边,使这三条边能构成一个直角三角形。

    输入描述:

    一个整数n。

    输出描述:

    另外两条边b,c。答案不唯一,只要输出任意一组即为合理,如果无法构造请输出-1。

    示例1

    输入

    复制

    3

    输出

    复制

    4 5

    示例2

    输入

    复制

    4

    输出

    复制

    3 5

    备注:

    0<=n<=1e9

    1<=b,c<=1e18

    n,b,c均为整数

    ac代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    ll n,b,c,t;
    int main(){
       cin>>n;
       if(n>1&&n%2==1){
          t=(n-1)/2;
           b=2*t*t+2*t;
           c=b+1;
           cout<<b<<" "<<c<<endl;
       }
       else if(n>=4&&n%2==0){
          t=n/2;
          b=t*t-1;
          c=t*t+1;
          cout<<b<<" "<<c<<endl;
       }
         else
            cout<<"-1"<<endl;
        return 0;

    }

    思路:

    记住就好了

  • 相关阅读:
    环保
    A股行情记录
    航运
    黑五类
    家电
    妖股
    高校概念股
    科技园区
    壳股
    白底黑字or黑底白字,眼睛更喜欢哪一个?
  • 原文地址:https://www.cnblogs.com/lusiqi/p/11478989.html
Copyright © 2011-2022 走看看