题目

解说

找来一些思维题练手,碰上了这一道,个人觉得挺有意思,写博客以记之。

首先有\(x,y,z\)三个变量对于我们来说是非常不利的,因为很难进一步确定变量之间的关系。那么我们就要想办法先干掉一个变量。既然\(x,y,z\)都没有什么特殊要求,我们不妨构造出最简单的情况:

不妨令

\[z=n \]

则有

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

我们的式子里只有两个变量了,很容易进一步确定它们之间的关系:

\[y=\frac{n \cdot x}{x-n} \]

再一次,既然\(x,y,z\)没什么特殊要求,不妨令\(x=n+1\)使我们的工作更加简单。将\(x=n+1\)代入上式便可以得到:

\[y=n^2+n \]

至此,我们就已经确定了这个方程的一组特解:

\[\begin{cases} x=n+1 \\ y=n^2+n\\ z=n \end{cases}\]

提交之后欢迎直接开门红!

我们来思考一下哪里出问题了……题目中无解的情况似乎没有用到。那么在什么时候\(x,y,z\)会无解呢?这时我们又注意到题目中的一个条件\(x \neq y \neq z\)。简单地解个方程就会发现\(n=1\)时\(n+1=n^2+n\),我们的特解不符合要求,因此我们猜测\(n=1\)时原方程无解。但是我们应当进行严谨的证明。

证明:因为\(x,y,z \in N^{+}\)且\(\frac{1}{x}+\frac{1}{y}+\frac{1}{z}=2\),所以\(x,y,z\)中必然有且只有一者为\(1\)(可以假设若\(x,y,z\)均不为\(1\),则\(\frac{1}{x}+\frac{1}{y}+\frac{1}{z}\)最大只能为\(\frac{3}{2}\);若\(x,y,z\)中有不止一个为\(1\),则\(\frac{1}{x}+\frac{1}{y}+\frac{1}{z}\)肯定大于\(2\))。

所以不妨令\(z=1\),则

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

\[\frac{1}{y}=\frac{x-1}{x} \]

因为右边的分子必须可以约分为\(1\),所以\(gcd(x-1,x)=x-1\),但\(\forall x \in N^{+},gcd(x-1,x)=1\),所以\(x\)只能为\(2\),但将\(x=2\)代入\(x\)与\(y\)的关系式可得\(y=2\),不符合\(x \neq y\),所以\(n=1\)时原方程无解。

\[Q.E.D. \]

代码

#include

using namespace std;

int main(){

int n;

scanf("%d",&n);

if(n==1) printf("-1\n");

else printf("%d %d %d\n",n,n+1,n*n+n);

return 0;

}

java中fractions,[CF743C]Vladik and fractions相关推荐

  1. java中实现具有传递性吗_Java中volatile关键字详解,jvm内存模型,原子性、可见性、有序性...

    一.Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作 ...

  2. java中调用python

    在Java中调用Python </h1><div class="clear"></div><div class="postBod ...

  3. java中hashcode_浅谈Java中的Hash值

    1.Hash值有什么用? HashMap.HashTable.HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode.HashCode是Key,这种计算为提高计算的性能. ...

  4. JAVA中获取当前系统时间

    JAVA中获取当前系统时间 转自:http://www.cnblogs.com/Matrix54/archive/2012/05/01/2478158.html 一. 获取当前系统时间和日期并格式化输 ...

  5. Java中的对象和包

    什么是对象 对象就是实际生活中的事物,可以说一切事物都是对象. 对象的三个特点 1  对象的行为:这个对象能做什么, 例如包子是用来吃的 2  对象的状态:对象保持的一种状态,例如这个包子是热的还是凉 ...

  6. java中标识符,关键字,数据类型

    什么是标识符? 在java语言中用来给一个类,变量或方法命名的符号 标识符的命名规则 标识符可以由字母.数字.下划线(_).美元符($)组成,但不能包含 @.%.空格等其它特殊字符,不能以数字开头. ...

  7. Java中byte与16进制字符串的互相转换

    https://www.cnblogs.com/qinwangchen/p/5418028.html * Convert byte[] to hex string.这里我们可以将byte转换成int, ...

  8. JAVA中priorityqueue详解

    Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示.本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度, ...

  9. 使用java中replaceAll方法替换字符串中的反斜杠

    今天在项目中使用java中replaceAll方法将字符串中的反斜杠("\")替换成空字符串(""),结果出现如下的异常: 1 java.util.regex. ...

最新文章

  1. postgre 常用语法,如 group_concat用法
  2. Java多线程3:Thread中的静态方法
  3. 第四十五课:MVC,MVP,MVVM的区别
  4. 【CF1189D】Add on a Tree【结论】【构造】
  5. 前端学习(2197):__WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
  6. Android设计模式之——Builder模式
  7. js转换字符串为base64位
  8. 不确定下钻数的循环(部门下所属部门 多层下钻)
  9. CodeForces #549 Div.2 ELynyrd Skynyrd 倍增算法
  10. pythonopencv算法_opencv python 光流法
  11. 一首歌是怎么诞生的?
  12. 【linux】——FTP出现500 OOPS: cannot change directory的解决方法
  13. 2018.10.24
  14. JDK有三种字体绘制系统
  15. 如何查看Dll中包含了哪些函数
  16. CUDA By Examples 0 - 准备工作
  17. mac系统怎么给文件夹加密?mac文件夹加密教程
  18. 面向对象的类、方法和对象
  19. UVALIVE 2678
  20. excel work

热门文章

  1. LPC1768的P0.27,P0.28管脚作为GPIO口输出需要外接上拉电阻才能输出高电平
  2. AD_Copy Room
  3. matlab根据根求多项式,matlab求解多项式的根
  4. ios 图片加载内存尺寸_iOS内存分析上-图片加载内存分析
  5. 【JavaWEB】项目实战-黑马面面
  6. 聊聊短信接口攻击的防范方案
  7. java毕业生设计车辆调度管理系统计算机源码+系统+mysql+调试部署+lw
  8. matlab9级标度法,satty 标度法
  9. Java千问:Java语言各种数字的“非常规”写法你都会吗?
  10. IEEE 754浮点数标准详解