两数之和,两数之积

两数之和,两数之积已知两个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 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • qq邮箱收到钓鱼邮件_emc邮件门事件该怎么回答

    qq邮箱收到钓鱼邮件_emc邮件门事件该怎么回答0x0背景福无双至、祸不单行。本来是风和日丽的天气,白帽子在工地认真搬砖然后被一些所谓的负(dou)责(bi)人怼了,心里感觉到很委屈。准备下班之际莫名其妙收到了一封QQ邮箱弹窗点开一看直觉就是"这货有毒"。0x1过程新学期课程表安排通知,感觉还是比较有针对性的,想一想自己前段时间加入一些考研群的,目测就是这些群里面的人吧。话不多说,就开启burpsuit看看通信过程。一访…

  • 常见数据库简答题_数据库基础知识试题

    常见数据库简答题_数据库基础知识试题数据库简答题第一章1.简述数据、数据库、数据库管理系统、数据库系统的概念(期末题库、课后题、大纲要求、试题三)数据:描述事物的符号记录数据库:(什么是数据库?答下面所有)长期存储在计算机内、有组织、可共享的大量数据的集合基本特征:(1)数据按照一定的数据模型组织、描述和存储(2)可为各种用户所共享(3)具有较小的冗余度(4)数据独立性较高(5)易扩展性数据库管理系统:(什么是数据库管理系统?答下面所有)(2001研招)位于用户与操作系统之间的一层数据管理软件,他与操作系统一样都是计

  • 数据仓库ods层_设计结果概要

    数据仓库ods层_设计结果概要ODS层辨析ODS全称是OperationalDataStore,即操作数据存储。InmonVSKimballBill.Inmon的定义:ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。而Kimball的定义:操作型系统的集成,用于当前、历史以及其它细节查询(业务系统的一部分);为决策支持提供当前细节数据(数据仓库的一部分)。ODSVSDBVSED

  • RabbitMQ 原理图和名词理解(二)[通俗易懂]

    RabbitMQ 原理图和名词理解(二)[通俗易懂]一、RabbitMQ简介RabbitMQ是基于AMQP实现的一个开源消息组件,主要用于在分布式系统中存储转发消息,由因高性能、高可用以及高扩展而出名的Erlang写成。其中,AMQP(AdvancedMessageQueuingProtocol,即高级消息队列协议),是一个异步消息传递所使用的应用层协议规范,为面向消息的中间件设计。RabbiMQ是EDA事件驱动架构的核心,也是CQR…

  • vue怎么和后端对接_vue搭配什么后端

    vue怎么和后端对接_vue搭配什么后端简单分享一下jeeplus框架部署liunx服务器跨域问题 ,因为我这个是前后端服务器分离所以配置了俩份java后端配置1.跨域后端配置nginx(图-1)上配置 server { listen 80; server_name xxx.xx.xxx; #后端服务域名 #charset koi8-r; #access_log logs/host.access.log main; locatio

  • django动态路由_网线无线转换器怎么用

    django动态路由_网线无线转换器怎么用自定义路径转换器有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器django内置的路径转换器源码解析在我们自定义路由转

发表回复

您的电子邮箱地址不会被公开。

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