zoukankan      html  css  js  c++  java
  • 一些智力题

    1、怎样用一个5升的杯子和一个3升的杯子称出4升水?

    先将5升的杯子装满,再将水逐渐倒入3升的杯子,那么5升的里面就省下了2升水。

    将3升的杯子倒空,将5升的里面剩下的2升倒入3升的,3升的杯子里就还可以倒1升水。

    再将5升的杯子装满水,倒水给3升的,就倒掉了1升,剩下了4升

    我的想法是:

    倾斜法,5L的装2L时,将其倾斜,一端和桶的地面齐平,另一端记录其位置做个标记,然后再往其加水,这样加到标记位置时就是4L

    中线法:也是类似标记法,不再详述。

    2、有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1.只称量一次,如何判断哪个罐子的药被污染了?

        解答:第一个药瓶拿1个;第二个药瓶拿2个;第三个药瓶拿3个;第四个药瓶拿4个;

        计算标准的10颗药重量,与现在的10颗药比较

        如果重量多1,就是第一个药瓶污染

        如果重量多2,就是第二个药瓶污染

        如果重量多3,就是第三个药瓶污染

    3、

    求多个数相乘的位数只要求他的常用对数和就可以。

    log10(1)+log10(2)+···+long10(1000)取整后加1
    或者
    log(N!)=lnN!/ln10
    =(NlnN-N)/ln10
    =2565.7
    so
    N!=10^2565.7
    =10^.7*10^2565
    =5.01e2565

    1000的阶乘的结果里有多少个连续的0,怎么算?

    每出现一个2和5,就会在末尾有一个0,所以只要看,从1
    到1000中总共有多少个2和5就可以了,又因为5总比2少,所以,只要看1000的阶乘中有多少个约数5就可以了。
    同样,只有末尾是0或者5的数才会有5,所以总共只有200个数其中包含5,
    但是,其中有1000/25=40个数包含2个5,
    1000/125=8个数包含三个5,
    1000/625=1个数包含4个5,
    所以总共有200+40+8+1=249个5,所以结果里总共有249个连续的0。

    烧一根不均匀的绳子,从头烧到尾总共需要1个小时,问如何用烧绳子的方法来确定

    燃烧速度,只与绳子材料有关

    因为从一头烧完需要1个小时,如果两头同时开始点燃,烧的速度相当于乘2,烧完的时间就变成半小时了,

    网上经常问的是有两根不均匀的绳子 一根完全烧完是一个小时 如何判断30分钟和45分钟,
    一根绳子两头都烧,
    同时第二根只烧一头, 第一根都烧完的时候就是30分钟了
    同时点燃第二根的另一头 再次烧完就是45分钟了

    对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……问:最后为关熄状态的灯的编号。

    解答:

    若某灯开关被转换奇数次,则最后为关熄状态
    若某灯开关被转换偶数次,则最后为开启状态

    某灯开关被拨时,一定是此时灯的编号是这个数的倍数,即这个数是灯的编号的余数
    所以某灯开关被转换的次数等于灯的编号的约数个数

    所以我们只需找到约数个数为奇数的数------------我觉得是偶数

    对数n,若a是它的约数,则n/a也是它的约数,所以约数成对存在
    只有当a=n/a时,约数才单独存在,此时n=a^2

    所以只有平方数的约数个数为奇数

    因为1-100中1,4,9,16,25,36,49,64,81,100为关熄状态。。。自己多试几次想想

  • 相关阅读:
    [编]使用AutoCompleteExtender实现文本框自动匹配
    C#中的泛型
    Adapter模式
    .Net 项目代码风格要求
    Asp.Net Ajax的两种基本开发模式
    .NET框架
    SQL Server文章目录
    【转】prometheus数据上报方式pushgateway
    Operation is not valid due to the current state of the object
    lisp 笔记 闭包
  • 原文地址:https://www.cnblogs.com/fickleness/p/3165334.html
Copyright © 2011-2022 走看看