欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQL与魔术 博客分类: 数据库 SQL

程序员文章站 2024-03-01 14:56:40
...

扑克魔术:

随意选取21张牌,让观众随意抽出一张,让观众牢牢记住并放回到其余20张牌中,然后任意洗牌。

然后开始按序发牌,分成三叠,每叠7张。然后将三叠牌给观众看,并让观众确定目标牌在哪一叠中(顺序不可打乱)

然后将目标牌所在的一叠放在三叠牌中间,并再次发牌,规则同上,然后再来一次。记住,最后一次也要观众确认目标牌在哪一叠,并将它所在的一叠放在中间。然后,从该叠牌开始翻牌,并嘴里说:”你要相信魔术你的牌是“,说完这句话时下一张就是目标牌了。

 

下面的SQL就是解出该张牌最终会在哪个位置:

with a as (select rownum p from dual connect by level <= 21)
select p, 7 + ceil((7 + ceil((7 + ceil(p / 3)) / 3)) / 3) from a;

 

结果就是 11。

P    7+CEIL((7+CEIL((7+CEIL(P/3))/3
1    11
2    11
3    11
4    11
5    11
6    11
7    11
8    11
9    11
10    11
11    11
12    11
13    11
14    11
15    11
16    11
17    11
18    11
19    11
20    11
21    11

 

相关标签: SQL