zoukankan      html  css  js  c++  java
  • 数学【CF743C】Vladik and fractions

    Description

    请找出一组合法的解使得(frac {1}{x} + frac{1}{y} + frac {1}{z} = frac {2}{n})成立 其中(x,y,z)为正整数并且互不相同

    Input

    一个整数(n)

    Output

    一组合法的解(x, y ,z),用空格隔开 若不存在合法的解,输出(-1)

    首先,最先容易想到的是令(x,y,z)其中一个数为(n),那么我们现在的问题就变成了求解这个式子。

    [frac{1}{x}+frac{1}{y}=frac{1}{n} ]

    如果你是一个学过高中数学的人,

    你会发现,这可以裂项(是叫这个吧?喵喵喵?)

    [frac{1}{n}=frac{1}{n+1}+frac{1}{n(n+1)} ]

    按照常理来说,一般人都会证明一下,但是我不会证明啊!!

    所以其实刚开始我没有意识到是裂项

    然后,先观察样例。

    (n=7)的时候三个解分别为(7,8,56),嗯?暗示着我什么?

    接下来代入(n,n+1.n(n+1))到式子中,貌似是正解?

    交上去Wa了?,结果发现没有判断无解。

    无解条件:$n=1 (或)n=0$

    如果(n=1)的时候的话,显然,三个以整数为分母(且互不相同),分子为(1)的分数,相加不可能大于等于(2)

    最大是(1+frac{1}{2}+frac{1}{3})

    还有(n=0),这个分数无意义,还求什么解。

    代码

    #include<cstdio>
    #define lo long long
    #define R register
    
    using namespace std;
    
    lo n;
    int main()
    {
    	scanf("%lld",&n);
    	if(n==1 or n==0)puts("-1");
    	else printf("%lld %lld %lld",n,n+1,n*(n+1));
    }
    
  • 相关阅读:
    python读写操作(txt, mat, xls, etc文件)
    开发linux版QQ就是支持未来的国产操作系统
    为知笔记linux绿色版的快速调用
    数学物理中的常见误区
    markdown语法小结
    信息爆炸时代的知识获取
    matlab: 数据的读写
    APS期刊投稿准备: REVTex格式
    markdown基本语法
    常见的数学关系
  • 原文地址:https://www.cnblogs.com/-guz/p/9927312.html
Copyright © 2011-2022 走看看