专栏首页后端技术探索当一只程序员遇到了一道无聊的智力填数题!

当一只程序员遇到了一道无聊的智力填数题!

本猿在朋友圈和群里多次看到这样一道智力题(见下图),一看就是一道需要乱扯的无聊的题目。好吧,试试就试试。

只能填数字啊,那就不能从“单位”的角度去乱搞了,那就用进制吧。给出的数字中出现了9,那就从十进制开始试试,

代码如下:

<?php

/**

* number从base进制转为十进制

**/

function show_convert_to_base_10 ($number, $base)

{

if (strstr ($number, '.'))

{

list ($integer, $decimal) = explode ('.', $number);

}

else

{

$integer = $number;

}

$integer = strrev ($integer);

$length = strlen ($integer);

for ($pos = 0; $pos < $length; ++$pos)

{

$digit = $integer[$pos];

if (eregi ('[a-z]', $digit))

{

$digit_value =

(ord (strtolower ($digit))

- ord ('a')) + 10;

$digit = "$digit ($digit_value)";

}

else

{

$digit_value = $digit;

}

$result = $digit_value * pow ($base, $pos);

$sums[] = $result;

}

if (isset ($decimal))

{

$decimal = '0'.$decimal;

$length = strlen ($decimal);

for ($pos = 1; $pos < $length; ++$pos) {

$digit = $decimal[$pos];

if (eregi ('[a-z]', $digit))

{

$digit_value =

(ord (strtolower ($digit))

- ord ('a')) + 10;

$digit = "$digit ($digit_value)";

}

else

{

$digit_value = $digit;

}

$result = $digit_value * pow (1/$base, $pos);

$sums[] = $result;

}

}

$sums = implode (' + ', $sums);

eval ("\$base_10_value = $sums;");

return $base_10_value;

}

// 开始解题

$ns = [1,3,5,7,9,11,13,15]; // 给出的数字

$jinzhis = [10,11,12,13]; // 几进制

foreach($jinzhis as $jz)

{

foreach($ns as $n1)

{

foreach($ns as $n2)

{

foreach($ns as $n3)

{

if (show_convert_to_base_10($n1, $jz) + show_convert_to_base_10($n2, $jz)

+ show_convert_to_base_10($n3, $jz) == show_convert_to_base_10(30, $jz))

{

echo "$jz"."进制".":$n1+$n2+$n3=30".",对应10进制:"

.show_convert_to_base_10($n1, $jz)."+".show_convert_to_base_10($n2, $jz)."+"

.show_convert_to_base_10($n3, $jz)."=".show_convert_to_base_10(30, $jz)."\n";

}

}

}

}

}

?>

只试了10、11、12,13进制,结果如下:

11进制:1+15+15=30,对应10进制:1+16+16=33

11进制:3+13+15=30,对应10进制:3+14+16=33

11进制:3+15+13=30,对应10进制:3+16+14=33

11进制:5+11+15=30,对应10进制:5+12+16=33

11进制:5+13+13=30,对应10进制:5+14+14=33

11进制:5+15+11=30,对应10进制:5+16+12=33

11进制:7+11+13=30,对应10进制:7+12+14=33

11进制:7+13+11=30,对应10进制:7+14+12=33

11进制:9+11+11=30,对应10进制:9+12+12=33

11进制:11+5+15=30,对应10进制:12+5+16=33

11进制:11+7+13=30,对应10进制:12+7+14=33

11进制:11+9+11=30,对应10进制:12+9+12=33

11进制:11+11+9=30,对应10进制:12+12+9=33

11进制:11+13+7=30,对应10进制:12+14+7=33

11进制:11+15+5=30,对应10进制:12+16+5=33

11进制:13+3+15=30,对应10进制:14+3+16=33

11进制:13+5+13=30,对应10进制:14+5+14=33

11进制:13+7+11=30,对应10进制:14+7+12=33

11进制:13+11+7=30,对应10进制:14+12+7=33

11进制:13+13+5=30,对应10进制:14+14+5=33

11进制:13+15+3=30,对应10进制:14+16+3=33

11进制:15+1+15=30,对应10进制:16+1+16=33

11进制:15+3+13=30,对应10进制:16+3+14=33

11进制:15+5+11=30,对应10进制:16+5+12=33

11进制:15+11+5=30,对应10进制:16+12+5=33

11进制:15+13+3=30,对应10进制:16+14+3=33

11进制:15+15+1=30,对应10进制:16+16+1=33

13进制:3+15+15=30,对应10进制:3+18+18=39

13进制:5+13+15=30,对应10进制:5+16+18=39

13进制:5+15+13=30,对应10进制:5+18+16=39

13进制:7+11+15=30,对应10进制:7+14+18=39

13进制:7+13+13=30,对应10进制:7+16+16=39

13进制:7+15+11=30,对应10进制:7+18+14=39

13进制:9+11+13=30,对应10进制:9+14+16=39

13进制:9+13+11=30,对应10进制:9+16+14=39

13进制:11+7+15=30,对应10进制:14+7+18=39

13进制:11+9+13=30,对应10进制:14+9+16=39

13进制:11+13+9=30,对应10进制:14+16+9=39

13进制:11+15+7=30,对应10进制:14+18+7=39

13进制:13+5+15=30,对应10进制:16+5+18=39

13进制:13+7+13=30,对应10进制:16+7+16=39

13进制:13+9+11=30,对应10进制:16+9+14=39

13进制:13+11+9=30,对应10进制:16+14+9=39

13进制:13+13+7=30,对应10进制:16+16+7=39

13进制:13+15+5=30,对应10进制:16+18+5=39

13进制:15+3+15=30,对应10进制:18+3+18=39

13进制:15+5+13=30,对应10进制:18+5+16=39

13进制:15+7+11=30,对应10进制:18+7+14=39

13进制:15+11+7=30,对应10进制:18+14+7=39

13进制:15+13+5=30,对应10进制:18+16+5=39

13进制:15+15+3=30,对应10进制:18+18+3=39

到程序员这里是不是很无聊!

本文分享自微信公众号 - nginx(nginx-study),作者:nginx

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-01-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 程序员过生日,机智方式点蜡烛

    1. 小区新搬来一户人家,一个30岁左右的年轻女人,带着一个4岁的男孩。每天独自一人操持家务,买菜做饭,接送孩子。时间久了,邻居们都有些议论,直到有一天,一个男...

    后端技术探索
  • 聚簇索引与非聚簇索引(也叫二级索引)--最清楚的一篇讲解

    澄清一个概念:innodb中,在聚簇索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查找,非聚簇索引都是辅助索引,像复合索引、前缀索引、唯一索引,...

    后端技术探索
  • LinkedIn 架构这十年

    2003年是LinkedIn元年,公司成立的目标是连接你的个人人脉以获得更好的的工作机会。上线第一周才有2700个会员注册,时光飞梭,LinkedIn的产品、会...

    后端技术探索
  • 大咖丁奇:加唯一索引怎么会导致丢数据?

     点击上方蓝字每天学习数据库 一起构建MySQL知识网络,我是林晓斌,今天的文章我们从索引说起。 ? 林晓斌 林晓斌,网名丁奇,腾讯云数据库负责人,数据库领域...

    腾讯云数据库 TencentDB
  • Elasticsearch 创建索引前必须要了解的知识,提前避坑!

    在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分片数量 等,但 Elasticsea...

    create17
  • 用AR科普人民币防伪知识,腾讯金融科技展示了什么情怀?

    1948年,中国人民银行在河北石家庄成立,同日人民币在石家庄市和中共中央所在地平山县正式发行,“红色金融”由此奠基。

    罗超频道
  • 如何进行小程序云函数开发

    在以前的文章中,我们给大家介绍了小程序的基本使用,近期微信团队联合腾讯云合作开发了一项新的产品,不用服务器就可以在小程序端进行服务端开发。为开发者提供完整的云端...

    英特奈特
  • 史上最全存储引擎、索引使用及SQL优化的实践

    整个MySQL Server由以下组成 : Connection Pool :连接池组件 Management Services & Utilities...

    海仔
  • 分享几个我经常用到的函数

    同上一个推送一样,为了提高php开发的效率,在学习完一些零零碎碎的知识外,我们要学会的那就是总结与分享,学会封装类和函数,方便下次你再次敲此功能代码。在...

    benny
  • 详解 Linux中的关机和重启命令

    如有疑问请留言或者到本站社区交流讨论,以上就是Linux 中关机重启的命令详解,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    砸漏

扫码关注云+社区

领取腾讯云代金券