zoukankan      html  css  js  c++  java
  • IT科技企业逻辑思维面试题

    逻辑思维面试题

    一、假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。【请描述操作过程】

      答:(1)先用容积为6升的水壶装满水;

    (2)将这些水倒入容积为5升的水壶中,此时容积为6升的水壶中剩下1升水;

    (3)将容积为5升的水壶中的水全倒掉,将那一升水倒入容积为5升的水壶中;

    (4)再次重复步骤(1)~(3)两次,即可,最后容积为6升的水壶中将会有3升的水。

    二、周雯的妈妈是豫林水泥厂的化验员。一天,周雯来到化验室做作业。做完后想出去玩。“等等,妈妈还要考你一个题目,”她接着说,“你看这6只做化验用的玻璃杯,前面3只盛满了水,后面3只是空的。你能只移动1只玻璃杯,就使盛满水的杯子和空杯子间隔起来吗?”爱动脑筋的周雯,是学校里有名的“小机灵”,她只想了一会儿就做到了。【只能移动以一个玻璃杯,请描述你该怎么做】

    答:(1)以从左向右数的方向给每一个玻璃杯编号,分别为1~6号;

    (2)将第二只玻璃杯拿起,将里面的水倒入第五只玻璃杯中;

    (3)倒完后将第二只玻璃杯再放回原位即可。

    三、一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人。问他赚了多少?

      答:(答案一:2元)

    1. 将花的钱和买的钱分别加起来;

    2.用买的钱的总额减去花的钱的总额,即可得到最后赚的钱——2元。

    (答案二:1元)

    1.第一次交易:8元买到,9元卖掉,赚了一元;

    2.第二次交易:10元买到,相比于前面9元卖掉,此时又亏了1元,即此时不亏不赚;

    3.最后11元卖掉,相比于10元买到,盈利1元,故最后赚了1元。

    四、有口井7米深,有个蜗牛从井底往上爬,白天爬3米,晚上往下坠2米,问蜗牛几天能从井里爬出来?

    答: 5天

    (1)第一天:上升了1米;

    (2)第二天:上升了2米;

    (3)第三天:上升了3米;

    (4)第四天:上升了4米;

    (5)第五天:在上升了4米的基础上,白天向上爬3米,此时总共上升了7米,井深也为7米,那么此时蜗牛已经可以爬出井口了。

    五、今有2匹马、3头牛和4只羊,它们各自的总价都不满10000文钱(古时的货币单位)。如果2匹马加上1头牛,或者3头牛加上1只羊,或者4只羊加上1匹马,那么它们各自的总价都正好是10000文钱了。问:马、牛、羊的单价各是多少文钱?【写出解题过程,以及结果】

    答: 马、牛、羊的单价各是3600、2800、1600文钱

    设马、牛、羊的价格分别为xyz,单位:文

    列方程:

    2x+y=10000

    3y+z=10000

    4z+x=10000 

    然后解方程即可求出:

    x=3600,y=2800,z=1600

    六、陈奕迅有首歌叫十年,吕珊有首歌叫365夜,那现在问,十年可能有多少天?【写出可能的结果】

    答:因为这10年中有闰年或平年,故结果为:3651、3652、3653天

    七、括号中的数字应该选择多少:0,4,18,(A),100

                     A.48;B.58;C.50;D.38

    答:选A

    规律:

    0=0*12,4=1*22,18=2*32,46=3*43,100=4*55

    八、有这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34,………求出第30位的值;最好由递推公式【有编程基础的同学,可以用你擅长的语言进行编写】

    答:C#代码如下

     1 using System;
     2  using System.Collections.Generic;
     3  using System.Linq;
     4  using System.Text;
     5   namespace ConsoleTest
     6   {
     7    class Program
     8  {
     9 static void Main(string[] args)
    10 {
    11     OutPut4();
    12 }
    13 //方法1,使用for循环
    14 public static void OutPut2()
    15 {
    16     int num = 1;
    17     int prev = 0;
    18     for (int i = 0; i < 30; i++)
    19     {
    20         Console.WriteLine(num.ToString());//输出到页面上
    21         int temp = num;
    22         num += prev;
    23         prev = temp;
    24     }
    25     Console.Read();
    26 }
    27 //方法2,使用while循环
    28 public static void OutPut1()
    29 {
    30     int sum = 0;  //输出值
    31     int num1 = 0;
    32     int num0 = 0;
    33     int i = 0;//计数器
    34     while (i < 30)
    35     {
    36         if (i == 0)
    37         {
    38             sum = num0 = 1;
    39         }
    40         else if (i == 1)
    41         {
    42             sum = num1 = 1;
    43         }
    44         else
    45         {
    46             sum = num1 + num0;
    47             num0 = num1;
    48             num1 = sum;
    49         }
    50         Console.WriteLine(sum);
    51         i++;
    52     }
    53     Console.Read();
    54 }
    55 //方法3,使用递归循环
    56 public static void OutPut4()
    57 {
    58     for (int i = 0; i < 30; i++)
    59     {
    60         Console.WriteLine(Calc(i));
    61     }
    62     Console.Read();
    63 }
    64 public static int Calc(int num)
    65 {
    66     if (num == 0 || num == 1)
    67     {
    68         return 1;
    69     }
    70     return Calc(num - 1) + Calc(num - 2);
    71           }
    72       }
    73   }
    74 //方法4,使用数组
    75 public static void OutPut3()
    76 {
    77     var numArray = new int[30];
    78     int i = 0;
    79     while (i < 10)
    80     {
    81         if (i == 0)
    82         {
    83             numArray[i] = 1;
    84         }
    85         else if (i == 1)
    86         {
    87             numArray[i] = 1;
    88         }
    89         else
    90         {
    91             numArray[i] = numArray[i - 1] + numArray[i - 2];
    92         }
    93         Console.WriteLine(numArray[i]);
    94         i++;
    95     }
    96     Console.Read();
    97 }
    View Code

     九、求以下表达式的值:1-2+3-4+5-6+7-8……+m;说明,写出递推公式;【有编程基础的同学,可以用你擅长的语言进行编写】。

         答:C#代码如下

     1 int sum = 0;
     2             for (int i = 1; i <= 5; i++)
     3             {
     4                 if (i%2!=0)
     5                 {
     6                     sum += i;
     7                 }
     8                 else
     9                 {
    10                     sum -= i;
    11                 }
    12 
    13             }
    14             Console.WriteLine(sum);
    15             Console.ReadKey();

    十、烧一根不均匀的绳子要用一个小时,如何用它来判断半个小时?烧一根不均匀的绳子,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳子的方法来计时一个小时十五分钟呢?

    【微软的笔试题,请注意是两个问题,注意绳子粗细不均匀】

     答:(1)取三根绳子;

    (2)先将第一根绳子的两端都点燃;

    (3)点燃第一根绳子的同时,将第二根绳子的一端也点燃;

    (4)等到第一根绳烧完的同时 (此时已过30分钟),将第二根绳子的另一端也点燃;

    (5)等到第二根绳子烧完的同时(此时又过了15分钟),将第三根绳子的两端同时点燃;

    (6)等到第三根绳子烧完的时(此时又过了30分钟),累加起来一共用了1个小时15分钟。

     注:未完,待续!

  • 相关阅读:
    【问题解决方案】单个文件夹嵌套时github仓库中最外层文件夹直接显示所有嵌套文件夹名的问题
    【问题解决方案】本地仓库删除远程库后添加到已有github仓库时仓库地址找不到的问题(github仓库SSH地址)
    【问题解决方案】git/github本地和远程仓库的重命名
    【学习总结】《大话数据结构》- 总
    【机器学习】李宏毅机器学习-Keras-Demo-神经网络手写数字识别与调参
    【问题解决方案】Keras手写数字识别-ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接
    【学习总结】win7使用anaconda安装tensorflow+keras
    【问题解决方案】AttributeError: module 'pygal' has no attribute 'Worldmap'
    【问题解决方案】ImportError: No module named 'pygal'
    【问题解决方案】Github中的jupyter notebook文件(.ipynb)加载失败/失败
  • 原文地址:https://www.cnblogs.com/pang951189/p/7439670.html
Copyright © 2011-2022 走看看