Feb 24

    给大家看一个好玩儿的东西。在不同的显示器上,下面这张图片的显示效果可能大不相同。如果你用的是 TFT 屏幕,上下移动你的脑袋,调整你的视角,你也会看到不同的色彩。从低处往上看,你会看到一个白色的 MM 站在蓝色背景中;从高处往低看,你会看到一个黑色的 MM 站在黄色背景中。

   

    现在,把上面这幅图片保存下来,用你最爱的图象处理软件打开,然后缩放到原图的 50% 。左图是图片缩小后理应得到的结果,但你会发现,你得到的结果是右边的这个图——一片灰色。

         

查看更多 »

Feb 23
汉字版Alphametic征集
icon1 Matrix67 |icon2 Brain Storm | icon4 2010-02-23 12:20 | icon325 Comments »

    Alphametic 是指这样一种有趣的文字游戏。在一个用字母组成的加法算式中,相同的字母代表相同的数字,不同的字母代表不同的数字。如果算式成立,那么这个数字谜有唯一解。而 Alphametic 的精髓就在于,整个算式本身也必须“有意义”。最经典的 Alphametic 可能是这个:

        SEND + MORE = MONEY

    它的唯一解是 9567 + 1085 = 10652 。

    就像灯谜、对联一样,作为一种文字游戏, Alphametic 也有很多异常牛 B 的,比如:

        EARTH + AIR + FIRE + WATER = NATURE

    1969 年,有人发现了这样一个有趣的 Alphametic:

        THREE + THREE + TWO + TWO + ONE = ELEVEN

    这样的 Alphametic 叫做 Doubly-True Alphametic 。可以证明上面这个 Doubly-True Alphametic 是合法的 Alphametic 中“最小的”一个。一个稍微大一点的 Doubly-True Alphametic 为:

        SEVEN + SEVEN + SIX = TWENTY

查看更多 »

Feb 20
奇妙的心电图数列
icon1 Matrix67 |icon2 Brain Storm | icon4 2010-02-20 0:06 | icon321 Comments »

    心电图数列 (EKG Sequence) 的定义简单而有趣:第一项为 1 ,第二项为 2 ,以后的每一项都是最小的和前一项不互质并且不曾出现过的数。换句话说,数列 a(1)=1 , a(2)=2 ,且当 n>2 时取 a(n) 为所有满足以下两个条件的数中最小的那一个:该数与 a(n-1) 有大于 1 的公约数,并且该数与前面 n-1 项都不相等。心电图数列的前面 20 项为

      1, 2, 4, 6, 3, 9, 12, 8, 10, 5, 15, 18, 14, 7, 21, 24, 16, 20, 22, 11 ...

    为什么它叫做心电图数列呢?原因很简单——因为把它描绘在图象上时,看上去像一张心电图。

 

查看更多 »

Feb 19

    在处理最优化问题时,我们常常通过分析导函数来寻找极值点,因此往往希望目标函数是可导的;但在很多实际问题中,目标函数里经常带有取最大值函数,它的存在将破坏函数的可导性。一个有趣的问题由此产生:能否设计一个平滑的二元函数 f(x,y) ,它的效果近似于 max(x,y) ,足以用来代替最大值函数?在设计这样的函数时,下面这些条件需要尽可能满足:

   · 函数简洁而美观
   · 可以调整函数的“平滑度”
   · 可以很方便地扩展到多个变量

查看更多 »

Feb 12

    这是一个经典智力问题,不知道大家见过没。下图是一辆自行车在泥地中驶过留下的痕迹,你能据此判断出这辆自行车是从左往右行驶的还是从右往左行驶的吗?

   

    提示:题目条件是充分的,根据这两道车轮印我们足以判定车行方向。这和图中的线条粗细、边缘锯齿没有关系,你完全可以把两道痕迹当作没有粗细之分的理想曲线;为了解决这个问题,必须仔细分析自行车驶过后两道车轮印一定会满足的几何性质。

查看更多 »

Feb 11

刚才在这里看到了如题所说的图像,立即想到用 Mathematica 验证一下。我选出了几个个人比较感兴趣的 k ,再用一句话便可输出所有对应 k 的图像:

kArray = {2, 3, 4, 6, 8, 10, 12, 14, 16, 18, 20, 36, 50};
For[i = 1, i <= Length[kArray], i++,
 Export["F:\\" <> ToString[kArray[[i]]] <> ".png",
  ArrayPlot[Table[Boole[Length[Divisors[x*y]] == kArray[[i]]], {x, 1, 400}, {y, 1, 400}],
   PixelConstrained -> {1, 1}, Frame -> False]]];

 
当 k=2 时,由于只有素数才有两个约数,因此所有点都是形如 (p, 1) 或者 (1, p) 的点,其中 p 为某个素数:

查看更多 »

Feb 10

    为了榨干消费者的每一分钱,除了价格歧视以外,商家还想出了各种招数。一种看上去似乎与此无关的定价策略叫做“两部分定价”。游乐园、酒吧之类的地方广泛存在两部分定价的现象,即在消费者消费之前必须先一次性支出一定数量的“入场费”,入场之后才可以按单价支付你所消费的商品。为什么商家要把费用分成这么两层呢?其实,根本目的还是在于从消费者手中赚到更多的钱。
    为了说明为什么两部分定价能赚到更多,我们不妨以游乐园来举例。为了简便起见,我们假设游乐园里只有一个游乐项目,比方说过山车。去游乐园的人只有一个目的,就是去玩儿过山车。不过,过山车老玩儿也没意思,随着玩儿的次数增加,游客获得的“爽感”将逐渐减小,具体地说坐第 n 次过山车只能给他带来相当于 100-10n 元的价值(这也就是他第 n 次乘坐过山车愿意支付的最高价格)。我们再假设,运营过山车的成本是平均每人次 60 元。那么,游乐园应该怎样定价才能从消费者手中赚到最多呢?

查看更多 »

Feb 7

原创Geek图一枚

« 更早的日志