zoukankan      html  css  js  c++  java
  • 【44.64%】【codeforces 743C】Vladik and fractions

    time limit per test1 second
    memory limit per test256 megabytes
    inputstandard input
    outputstandard output
    Vladik and Chloe decided to determine who of them is better at math. Vladik claimed that for any positive integer n he can represent fraction as a sum of three distinct positive fractions in form .

    Help Vladik with that, i.e for a given n find three distinct positive integers x, y and z such that . Because Chloe can’t check Vladik’s answer if the numbers are large, he asks you to print numbers not exceeding 109.

    If there is no such answer, print -1.

    Input
    The single line contains single integer n (1 ≤ n ≤ 104).

    Output
    If the answer exists, print 3 distinct numbers x, y and z (1 ≤ x, y, z ≤ 109, x ≠ y, x ≠ z, y ≠ z). Otherwise print -1.

    If there are multiple answers, print any of them.

    Examples
    input
    3
    output
    2 7 42
    input
    7
    output
    7 8 56

    【题目链接】:

    【题解】

    先让x=n
    则转换成
    1/n=1/y+1/z;
    再做一下变化得到
    z=n*y/(y-n)
    可以看到
    如果让y=n+1
    那么z的分母为1
    则z肯定是一个整数了
    且x=n,y = n+1,z =n*(n+1)
    当n大于1的时候x

    #include <bits/stdc++.h>
    using namespace std;
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    #define LL long long
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    #define rei(x) scanf("%d",&x)
    #define rel(x) scanf("%I64d",&x)
    
    typedef pair<int,int> pii;
    typedef pair<LL,LL> pll;
    
    //const int MAXN = x;
    const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
    const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
    const double pi = acos(-1.0);
    
    LL n,a,b,c;
    
    int main()
    {
        //freopen("F:\rush.txt","r",stdin);
        rel(n);
        if (n==1)
        {
            puts("-1");
        }
        else
        {
            a = n,b = n+1,c = n*n+n;
            cout << a << " " << b << " " <<c<<endl;
        }
        return 0;
    }
  • 相关阅读:
    C语言|博客作业02
    少走弯路的十条忠告
    怎么算是优秀的程序员写给工作2,3年了的同行
    .NET世界的M型化原文作者奚江华
    工作以后十不要 减少奋斗30年
    <转>[创业经验]程序员创业:我的软件推广成功之路
    一个程序员的C#命名规则<转>
    推荐奚江华著《圣殿祭祀ASP.NET 3.5 专家技术手册 C#篇及他的TW博客进入方法》
    C#算法
    使用 DataFormatString 属性来提供列中各项的自定义格式
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626818.html
Copyright © 2011-2022 走看看