智商是硬伤

前面的话:一直觉得学习计算机是需要天赋的,你的思维能力真的很重要,个人认为自己还是比较喜欢计算机的,但是真心智商是硬伤啊,积累吧,总会有所突破的。加油

1,源地址: http://blog.renren.com/GetEntry.do?id=902046071&owner=256440391

腾讯某笔试题:


A、B两人玩猜字游戏,游戏规则如下:
A选定一个 [1,100]之间的数字背对B写在纸上,然后让B开始猜;如果B猜的偏小,A会提示B这次猜的偏小;
一旦B某次猜的偏大,A就不再提示,此次之后B猜的偏小A也不会再提示,只回答猜对与否。请问:B至少要猜( )次才能保证猜对?在这种策略下,B第一次猜测的数字是( )。


这道题哥给出了(自认为)正确的答案 (14),(14),但是哥手算了大概10分钟啊~~擦~但是但是!!这题还用泥煤 10分钟?1分钟足矣啊~~出走


思路如下:

假设我们每次猜数都是猜大了,比如第一次猜数为10;那么如果大了的话,因为猜大了就不再给提示,就会还要猜9次才能保证猜中;如果小了的话,继续猜一个数,保证在这个数猜大了的情况遇到的次数和前者一样,就只能猜19了。依次类推。。。。
假设第一次猜x,第二次则为x+(x-1),直到最后猜(x+x-1+x-2+...+1)>100 (简单的等差数列啊,擦擦~~)
解得最小值 x=14 唉 幸好给出的范围是[1--100],要是[1--1000000]还泥煤的不得数死?大惊


更可气的是,解此题的源代码如下:是如此的简单~~~~!!!

#include <stdio.h>

int main(){ 
      int x = 1 ,sum = 0; 
      while(1){
             sum += x;
             if (sum >=10)
            {
                  break;
            } 
            x++;
      }
       printf("%d\n", x);
}

转载于:https://my.oschina.net/durong/blog/124208

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值