上周五面试深圳某知名软件公司,竟然要机试,遇到这个奇葩题,问题 Q1 倒是简单。
Q2 加分项把我难住了,真想吐槽出面试题的脑子都在想什么...
偷偷拍照,回家后尝试用伪随机碰撞解题,暂时卡死中.....
有大神有更快速方法或思路?
程序描述:
一副完整纸牌有 52 张(无大小王),4 种不同花色,每种花色 13 张。我们用一个整数 m 表示出所有的 52 种情况,规则是:
m / 13: =0: 红心,=1: 方块,=2: 梅花,=3: 黑桃
m % 13: =0:2,=1:3,=2:4 .... =8:10,=9:J,=10:Q,=11: K,=12:A
比如:m = 15 表示:方块 4 m=38 表示:梅花 A
Q1:( 基础项 ) -- #这个简单#
我们希望用程序模拟 1 副扑克牌随机抽取 5 张,发给某人的过程。
发牌后需要排序:规则是:先按花色,再按点数。花色的大小顺序是:梅花、方块、红心、黑桃。点数的顺序是:2、3、4、…. 10、J、Q、K、A。
Q2:( 加分项 )
已知五次连续发牌结果如下:
1、方块 6、红心 7、黑桃 7、梅花 8、梅花 10
2、黑桃 9、黑桃 2、红心 10、红心 5、方块 Q
3、红桃 J、方块 K、黑桃 K、红心 3、黑桃 5
4、梅花 3、方块 A、黑桃 A、梅花 K、梅花 5
5、红心 A、红心 9、黑桃 J、黑桃 4、红心 K
请根据以上发牌顺序,尝试逆算分析下一次发牌结果(五张)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.