当前位置: 首页 > news >正文

某程序员去华为面试,因为错了一道题而被淘汰

题目

有一道数学的逻辑题,这种提一般智商测试或者公务员考试中经常见到,传说华为有道面试题是这样的,求出下划线的数字应该是多少?

请准备好纸和笔,思考10分钟,看看你能否得出正确答案。

1分钟后。。。

2分钟后。。。

3分钟后。。。

4分钟后。。。

5分钟后。。。

6分钟后。。。

7分钟后。。。

8分钟后。。。

9分钟后。。。

10分钟后。。。

恭喜算出答案了,智商高的同学可能3-5分钟就算出来了,下面我来公布答案。

答案

33和36。算对了吧。果然还得是你啊!!!

分析

很明显这是一道逻辑推理,因为正常情况下,2+5不可能等于12,3+6也不可能等于21。接下来我们就开始找规律。首先我们很容易找出的规律是第一个数字比第二数字小3.即

4-1=3

5-2-=3

6-3=3

所以我们可以确定这个规律成立,适用于下面的一个公式。

假设我们把第一个数设为x,第二数设为y。

得出一个简单的方程式即y-x=3。

但是仅仅只是这样还不能够有计算出,下划线里的数字是多少,所以我们还得继续找规律。经过一番观察和分析,我们就能发现第一个数字乘以第二个数字再加上第一个数字就是最后一个数字,即

1×4+1=5

2×5+5=12

3×6+3=21

所以我们可以确定这个规律也成立,适用于下面的一个公式。

得出一个简单的方程式即xy+x=1221。

最终得出两个二元一次方程式,求解x和y。

解题

代码

下面用java代码计算求解方程式,得出下,x和y。首先我们知道代码里不能像数学公式一样的写,我们得转换成代码的公式。

xy+x=1221变为x(x+3)+x=1221 再变为 x²+3x+x=1221 再转变为 x²+4x=1221

转换为 (x+2)²-4=1221 转化为(x+2)²=1225 最终转化为

转道这里差不多可以写代码求值了。

public class Test {
    public static void main(String[] args) {
        int[] xy=getXy(1225);
        System.out.println("第一个下滑线的值为"+xy[0]+"\n第二个下滑线的值为"+xy[1]);
    }


    private static int[] getXy(int value){
        int x= (int) (Math.sqrt(value)-2);
        int y= x+3;
        return new int[]{x,y};
    }
}

控制台输出

相关文章:

  • Mysql 数据类型
  • 尚医通(八) Nginx
  • npoi word 里面厂家操作
  • 若依框架---分页功能
  • ESP8266 + STC15基于AT指令通过TCP通讯协议控制IO状态
  • 【H5】html实现微信授权登陆
  • Lesson 6.3 正则化与 sklearn 逻辑回归参数详解
  • 【C语言】指针基础(详细知识梳理)
  • 二叉搜索树——BinarySearchTree
  • 【Python】Numpy数值积分
  • 【Spring】Bean的生命周期详解
  • 【虚拟仿真】Unity3D中实现InputField组件表格Tab或者Enter换行实现
  • 【微服务】ES使用实战·黑马旅游(五)
  • JavaScript(三)-全面详解(学习总结---从入门到深化)
  • Windows Server 2022 Install Sql Server 2022
  • Openharmony的用户态应用通过HDF框架驱动消息机制实现的通信实例
  • 程序员为什么要写技术博客?都在哪些平台呢?
  • OpenStack haproxy Statistics Report统计报告怎么在哪里,haproxy Dashboard怎么打开
  • python GUI(Tkinter)
  • 【自学Python】Python字符串首字母大写
  • 春山谷雨前,并手摘芳烟
  • 石黑一雄《莫失莫忘》与“克隆人”:殖民地的记忆与行动
  • 观察|美军在菲律宾部署新导弹,试图继续构建“导弹链”
  • 云南:近两千亩拍得土地因规划变更不得开发,政府要求转型、企业无力为继
  • 一女子称醉酒后疑似被性侵,长沙警方通报:嫌犯邱某某已被刑拘
  • 江西修水警方:一民房内发生刑案,犯罪嫌疑人已被抓获