两数之和,两数之积

两数之和,两数之积已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。 甲问乙:”你知道是哪两个数吗?”乙说:”不知道”; 乙问甲:”你知道是哪两个数吗?”甲说:”也不知道”; 于是,乙说:”那我知道了”; 随后甲也说:”那我也知道了”; 这两个数是什么?答案:答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6 答案2:为x=1,y=8;甲知道和A=

大家好,又见面了,我是你们的朋友全栈君。已知两个1~30之间的数字,甲知道两数之和,乙知道两数之积。 


甲问乙:”你知道是哪两个数吗?”乙说:”不知道”; 


乙问甲:”你知道是哪两个数吗?”甲说:”也不知道”; 


于是,乙说:”那我知道了”; 


随后甲也说:”那我也知道了”; 


这两个数是什么?




答案:


答案1:为x=1,y=6;甲知道和A=x+y=7,乙知道积B=x*y=6 


答案2:为x=1,y=8;甲知道和A=x+y=9,乙知道积B=x*y=8 


解: 


设这两个数为x,y. 


甲知道两数之和 A=x+y; 


乙知道两数之积 B=x*y; 


该题分两种情况 : 


允许重复, 有(1 <= x <= y <= 30); 


不允许重复,有(1 <= x < y <= 30); 


当不允许重复,即(1 <= x < y <= 30); 


1)由题设条件:乙不知道答案  =>  B=x*y 解不唯一  


=>  B=x*y 为非质数 




又∵ x ≠ y 


∴ B ≠ k*k (其中k∈N) 


结论(推论1): 


B=x*y 非质数且 B ≠ k*k (其中k∈N) 


即:B ∈(6,8,10,12,14,15,18,20…) 


证明过程略。 


2)由题设条件:甲不知道答案 


<=> A=x+y 解不唯一 


=> A >= 5; 


分两种情况: 


A=5,A=6时x,y有双解 


A>=7 时x,y有三重及三重以上解 


假设 A=x+y=5 


则有双解 


x1=1,y1=4; 


x2=2,y2=3 


代入公式B=x*y: 


B1=x1*y1=1*4=4;(不满足推论1,舍去) 


B2=x2*y2=2*3=6; 


得到唯一解x=2,y=3即甲知道答案。 


与题设条件:”甲不知道答案”相矛盾, 


故假设不成立,A=x+y≠5 


假设 A=x+y=6 


则有双解。 


x1=1,y1=5; 


x2=2,y2=4 


代入公式B=x*y: 


B1=x1*y1=1*5=5;(不满足推论1,舍去) 


B2=x2*y2=2*4=8; 


得到唯一解x=2,y=4 


即甲知道答案 


与题设条件:”甲不知道答案”相矛盾 


故假设不成立,A=x+y≠6 


当A>=7时 


∵ x,y的解至少存在两种满足推论1的解 


B1=x1*y1=2*(A-2) 


B2=x2*y2=3*(A-3) 


∴ 符合条件 


结论(推论2):A >= 7 


3)由题设条件:乙说”那我知道了” 


=>乙通过已知条件B=x*y及推论(1)(2)可以得出唯一解 


即: 


A=x+y, A >= 7 


B=x*y, B ∈(6,8,10,12,14,15,16,18,20…) 


1 <= x < y <= 30 


x,y存在唯一解 


当 B=6 时:有两组解 


x1=1,y1=6 


x2=2,y2=3 (∵ x2+y2=2+3=5 < 7∴不合题意,舍去) 


得到唯一解 x=1,y=6 


当 B=8 时:有两组解 


x1=1,y1=8 


x2=2,y2=4 (∵ x2+y2=2+4=6 < 7∴不合题意,舍去) 


得到唯一解 x=1,y=8 


当 B>8 时:容易证明均为多重解 


结论: 


当B=6时有唯一解 x=1,y=6当B=8时有唯一解 x=1,y=8 


4)由题设条件:甲说”那我也知道了” 


=> 甲通过已知条件A=x+y及推论(3)可以得出唯一解 


综上所述,原题所求有两组解: 


x1=1,y1=6 


x2=1,y2=8 


当x<=y时,有(1 <= x <= y <= 30); 


同理可得唯一解 x=1,y=4 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144118.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机应用基础知识_51单片机基础知识总结

    单片机应用基础知识_51单片机基础知识总结单片机——硬件基础知识宗旨:技术的学习是有限的,分享的精神是无限的。1、单片机内部资源STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断源(1)Flash(硬盘)——程序存储空间——擦写10万次,断电数据不丢失,读写速度慢(2)RAM(内存)——数据存储空间——断电数据丢失

    2022年9月7日
    2
  • 数据挖掘项目总结文档模板_数据挖掘实训心得

    数据挖掘项目总结文档模板_数据挖掘实训心得数据挖掘项目总结文档1、文档概述1.1编写目的记录本次实验思路及流程,备忘用。1.2适用对象个人学习总结,描述有偏差之处陆续更进。2、业务理解与分析定义2.1需求概述针对传统网络入侵检测系统存在的误判以及漏检情况,采用数据挖掘的指导思想,通过大量的攻击样本数据进行知识发现,本次实验采用的kdd99数据集,其中包含了大量的模拟攻击行为。1998年美国国防

    2025年9月15日
    4
  • ODPS 下一个map / reduce 准备

    ODPS 下一个map / reduce 准备

    2022年1月2日
    35
  • 企业 keepalived 高可用项目实战

    企业 keepalived 高可用项目实战Listitem企业keepalived高可用项目实战1、KeepalivedVRRP介绍keepalived是什么keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。keepalived工作原理keepalived是以VRRP协议为实现基础的,VRRP全称VirtualRouterRedundancyProtocol,即虚拟路由冗余协议。虚拟路由冗余协议,可以认为是实现高可用的协议,即将N台提供相同功能的路由器组成一个..

    2022年7月13日
    14
  • 罗技k380无线键盘怎么连接电脑_罗技k480切换输入法

    罗技k380无线键盘怎么连接电脑_罗技k480切换输入法一、核实蓝牙键盘是否开启:蓝牙键盘有单独的开关,若蓝牙键盘没有打开,则无法使用。开启方法:键盘开机键在键盘的左侧位置,将开关向左移动到ON即可开启,二、核实蓝牙键盘是否有电:蓝牙键盘是需要单独充电的设备,若蓝牙键盘没有电,则无法使用。充电方法:在键盘左侧位置有充电端口,将充电器连接到此端口即可为键盘充电注:键盘充电时,电源指示灯会变为红色,充电完毕后,电源指示灯会变为蓝色。三、将键盘与平板电脑重新…

    2022年10月15日
    2
  • 集赞神器!朋友圈集赞一键秒搞定!从此集赞随心所欲!

    集赞神器!朋友圈集赞一键秒搞定!从此集赞随心所欲!今天,刚开始不知道要分享什么内容,下午烦恼时,结果收到一好友“朋友圈帮忙点赞”的消息,瞬间拉黑删除的心都有了,但是呢又不能这样做,点赞也不是,不点赞也不是,强(自)大(恋)的我告诉自己冷静一下,换个角度想问题,灵感来了~不如,今天就分享一下朋友圈一键集赞的方法~从此集赞随心所欲!要是下次再有好友让你帮忙集赞的时候,你可以将本文章甩给他,相信他会感谢你的~千万不要甩给商家!说到朋…

    2022年6月9日
    156

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号