编程拼图和代码高尔夫

编程益智爱好者和代码高尔夫球手的问答

8
3x3六边形Prime Square Puzzle
3x3六边形Prime Square Puzzle 介绍 我们考虑3x3平方的十六进制数字(从0到F),例如: 2 E 3 1 F 3 8 1 5 7 2 7 D D 5 B B 9 我们将3x3十六进制素数平方(HPS3)定义为这样一个正方形,对于该平方,从左到右以及从上到下读取的所有十六进制数都是奇数质数(即质数大于2)。 左边的正方形为true,右边的正方形为false: 2 E 3 --> 0x2E3 = 739 1 F 3 --> 0x1F3 = 499 8 1 5 --> 0x815 = 2069 7 2 7 --> …


1
跳棋:国王吗?
挑战: 给定棋盘格,如果可能的话,输出将花费最少的移动量(假设黑色根本不移动)为红色棋子。 规则: 红色的一面总是在底部,但是它们的碎片可以从任何行开始(甚至需要到达国王的行)。黑色棋子是静止的,这意味着它们不会在红色棋子之间移动,而在捕获时会从棋盘上移开。请注意,片段可以在板上的任何空间开始,包括彼此相邻。这不是播放普通跳棋的方式,但是您的程序必须能够解决这些问题。(请参阅输入5)但是,方格件只能对角移动(请参阅输入3)。如果第一个捕获在链中是向前的,则允许向后捕获(请参见输入7)。 输入: 一个8x8的棋盘格,其棋盘空间定义为以下字符(只要它们是一致的,可以随意使用替代项): 。-空 R-红色件 B-黑色件 输出: 的最小的移动号码,将采取一个红色片是“kinged”通过输入在板(黑侧)的顶行王的行,0如果不需要移动(开始红色片上王的行),或如果不可能加红色,则为负数(即黑色占据整个第一行)。 输入1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …

19
产生丢勒的魔方
挑战 输出Dürer著名的魔方的数组或字符串表示形式: 那是, 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 该广场的某些属性可能会被利用,它们是: 它包含从1到的每个整数16一次 每列或每行的总和以及两个对角线的每一个的总和是相同的。这是魔方的定义属性。总和是平方的魔术常数。 另外,对于这个特定的正方形,四个象限中每个象限的总和也等于魔术常数,中心四个正方形的总和和角点四个正方形的总和也等于魔术常数。 规则 不允许生成魔术方块的Bultin(例如Matlab magic或Mathematica的MagicSquare)。可以使用任何其他内置函数。 该代码可以是程序或函数。 没有输入。 数字必须以10为底。输出格式像往常一样灵活。一些可能性是: 嵌套数组(函数输出或其字符串表示形式,带或不带分隔符,任何类型的匹配括号): [[16, 3, 2, 13], [5, 10, 11, 8], [9, 6, 7, 12], [4, 15, 14, 1]] 2D阵列: {16, 3, 2, …

18
洗牌交易!
今天是星期五,我很累,所以让我们快速做一个!不输入任何内容,但是您应该在标准纸牌中输出所有13种不同编号的纸牌。您应该通过Ace(不可知的Suit)输出2。 每张卡的顶部都有一个空格 和十个_空格 。 从顶部开始的第二行用a /和10空格 以及a表示\ 第三行与所有中间行相同,不同之处在于表示卡值的字符在边缘的右边向右两个空格(如果在顶部)或在左边向左两个空格(如果在底部)。 每个中间十岁上下行是一个简单的|十位 还有一| 最后一行是a \和10 _,最后是a/ 如果该值是多位数,则卡的总宽度(以高度为单位)不应更改。(即10不会使卡的边变宽​​) 国王示例: __________ / \ | K | | | | | | | | | | | | K | \__________/ 9例子 __________ / \ | 9 | | | | | | | | | …

10
查找最大列中的每个数字
这对您来说是一个相对简单的挑战: 给定一个正整数列表: 将它们排列成网格,然后对每一列求和。例如,如果输入为[123, 7, 49, 681],则网格将如下所示: 1 2 3 7 4 9 6 8 1 每列的总和为[18, 19, 4]: 1 2 3 7 4 9 6 8 1 -------- 18 19 4 查找这些总和的最大值,在这种情况下为19,然后 输出与此最大列在同一索引处的每个数字。在这种情况下, 2 9 8 您不必以任何特定顺序输出这些数字。请注意,即使我们有4个输入,也只有3个输出。如果是平局,请选择最早的索引。例如,如果输入为[25, 223, 302],则您的网格为: 2 5 2 2 3 3 0 2 ------- 7 7 …
14 code-golf  math  grid 

17
打印分层蛋糕
挑战 给定输入后n,n从侧面看,打印一个高ASCII的艺术蛋糕,上面放着两个蜡烛。有关详细信息,请参见以下示例。 输出量 >> cake(1) _|_|_ | | +-----+ >> cake(3) _|_|_ | | +---------+ | | +-------------+ | | +-------------+ ...等等。 规则 禁止标准漏洞 请尝试一个聪明的解决方案 这是代码高尔夫球,因此最短答案以字节为单位。但是,将不会选择答案。 玩得开心!

14
搭载顺序
我最近创建了自己的序列(称为背负序列),其工作方式如下: P(1),P(2)和P(3)= 1。 对于所有P(n)where n>3,序列的工作方式如下: P(n) = P(n-3) + P(n-2)/P(n-1) 因此,继续执行以下步骤: P(4)= 1 + 1/1=2 P(5)= 1 + 1/2= 3/2 =1.5 P(6)= 1 + 2/(3/2)= 7/3 =2.33333... P(7)= 2 + (3/2)/(7/3)= 37/14=2.6428571428... P(8)= 3/2 + (7/3)/(37/14)= 529/222 =2.3828828828... 给定任务后,您可以将其n计算P(n)为浮点数或适当的分数。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 如果有人可以找到序列的名称,请相应地编辑帖子。 现任领导人:MATL和Jelly(均为15字节)。
14 code-golf  math 

9
代码高尔夫ABC:ASCII Box挑战赛
给定两个正整数'a'和'b',输出一个ascii-art“ box”,它是一个字符宽而b个字符高的字符。例如,使用“ 4”和“ 6”: **** * * * * * * * * **** 简单吧?这是一个转折点:框的边框必须是交替的“ a”和“ b”字符​​。此操作从左上角开始,并以顺时针螺旋线继续。例如,前面的示例4和6应该是 4646 6 4 4 6 6 4 4 6 6464 A和B 可以是两位数字。例如,输入“ 10”和“ 3”应输出以下内容: 1031031031 1 0 3013013013 为了使输出保持相对较小,您不必支持三个或更多数字。同样,由于输入被限制为正数整数,因此“ 0”是无效输入,您不必处理。 这是更多测试用例: Input: (3, 5) Output: 353 5 5 3 3 5 5 353 …

4
一次小小的冒险
文字冒险游戏有一个固定的公式;有一个由一系列房间/空间组成的世界,玩家可以在这些房间中移动,并且房间中有一些物品。物品可以由玩家拿起,放下,用于进入其他房间(例如钥匙),并与其他物品组合以制成新物品。 挑战 您面临的挑战是以最小的字节(代码高尔夫球)编写文本冒险运行时。为了简单起见,您所要做的就是根据给定的一系列命令是否会赢得给定的游戏输出真值或假值(无交互性,无人类友好输出等)。 游戏规则 世界总是由具有10个连通房间的走廊组成。每个房间都需要一个钥匙才能进入,但是可以在没有钥匙的情况下随时退出(所以我想这是一种闩锁)。 玩家从房间0开始,如果进入房间9,则获胜(一旦进入房间9,他们可以做任何自己想做的事,包括去另一个房间,他们仍然会赢); 每个房间可以容纳任意数量的物品; 最多有26个项目(称为AZ),并且世界上不会再出现任何项目。 玩家可以从当前房间中拾取物品并将其放入库存中(他们也可以将物品从其库存中放入当前房间中); 玩家的最大存货数量是有限的,并将提供等级细节; 在游戏开始时,玩家的库存总是空的。 一个房间中的最大物品数没有限制(尽管隐式限制为26,因为这是物品总数); 项目AJ是可用于钥匙进入房间0-9(即玩家可以到另一个房间0,如果他们有项目A,室温1,如果他们有B,等等。注意,密钥不被要求离开房间,并且玩家开始在房间0中,因此仅当玩家想返回房间0 时才需要键“ A” ; 可以合并玩家库存中的物品以创建新物品(将在玩家库存中创建)-允许的组合将提供等级详细信息; 合并项目将消耗原始项目(即,如果其中一个项目是密钥,将无法再使用该密钥); 如果玩家尝试做一些不可能的事情(例如,拿走当前房间中没有的物品/丢掉他们没有的物品/组合他们没有的物品/进入没有钥匙的房间)因为),什么也没有发生,所以他们可以继续; 玩家将永远不会胡说八道(例如去房间11)。 因此,一个简单的游戏可能看起来像这样: v +---+---+---+---+---+---+---+---+---+---+ | C | | J | | | | | | | | +---+---+---+---+---+---+---+---+---+---+ | CORRIDOR | +---------------------------------------+ Inventory capacity: 99 房间0包含项目“ C”(这是房间2的钥匙)。2号房间包含项目“ J”(这是9号房间的钥匙)。玩家可以通过拾取C,移至房间2,拾取J,然后移至房间9,赢得比赛。 一个更复杂的游戏可能是: v +---+---+---+---+---+---+---+---+---+---+ …

12
生成Linus序列
定义 根据OEIS A006345的描述: 要查找a(n),请考虑a 1或a 2。对于每个a(n)=1,2序列,找到最长的重复后缀,即对于每个序列,找到s具有序列a(1),...,a(n)结尾的最长序列ss。使用导致后缀较短的数字。a(1) = 1。 解决的例子 a(1)=1。 如果是a(2)=1,我们将得到1 1从末尾最长的一倍子串是的序列1。如果a(2)=2不是,那么它将是空的子字符串。因此a(2)=2。 什么时候n=6,我们在1 2 1 1 2 1和之间选择1 2 1 1 2 2。在首选中,1 2 1从末尾开始连续翻倍。在第二选择中,它是2。因此,a(6)=2。 什么时候n=9,我们在1 2 1 1 2 2 1 2 1 和之间选择1 2 1 1 2 2 1 2 2。在第一种选择中,最长的双倍连续子字符串是2 1,而在第二种选择1 2 2中,最后连续地双倍连续。因此a(9)=1。 任务 给定n,退货a(n)。 眼镜 n …

14
验证沃尔斯滕霍姆定理
定义 沃尔斯滕霍姆定理指出: 其中 a和b是正整数,p是素数,大括号是二项式系数。 任务 为了验证这一点,你将有三个输入:a,b,p,其中a和b是正整数且p是素数。 计算: 其中 a和b是正整数,p是质数,括号thing是二项式系数。 眼镜 以来: 其中,圆括号是二项式系数。 您可以假设 2b <= a 测试用例 a b p output 6 2 5 240360 3 1 13 3697053 7 3 13 37403621741662802118325

6
电网资源成本
电网资源成本 介绍 在棋盘游戏《电力网格》中,游戏不可或缺的一部分是购买资源为发电厂加油的行为。游戏中使用了四种资源(五种,如果您包括可再生能源,但是显然您不能为此购买资源)。这些是煤炭,石油,垃圾和铀。资源市场如下所示: 1---- | 2---- | 3---- | 4---- | 5---- | 6---- | 7---- | 8---- | 10 | 12 CCC | CCC | CCC | CCC | CCC | CCC | CCC | CCC | U | U OOO U | OOO U | OOO U | …
14 code-golf 

12
反转索引列表的列表
灵感来自这个 StackOverflow的职位。 介绍 Bob的工作是创建电子表格并对其进行组织。除Bob以外,很少有人知道他组织这些文件的方式,但是他创建了属于同一组的每个电子表格的列表。他创建的电子表格中有很多数据,但是现在我们只查看其中的一条数据:从他开始工作到创建电子表格之间的天数。第一天,他创建了两个电子表格,将它们都记录下来,0然后将它们分类到正确的位置。 现在,他的老板要求对每天发生的电子表格种类进行审查,编写一些代码来为Bob找出答案是您的工作。他手头上有太多电子表格。 输入值 鲍勃(Bob)提供给您的信息是以(0或1索引)锯齿状数组的形式出现的,每个数据的形式都是x = a[i][j]。 a是我所说的锯齿状数组本身,i是电子表格的类型,x也是数组创建的日期。 j不重要。 任务 给定按类型划分的电子表格创建日期的锯齿形数组,返回按电子表格创建日组织的电子表格类型的锯齿形数组。 例子 Bob不会只留下这些抽象数据。他给了我一些电子表格的一个子集,以帮助您弄清楚应该是什么。 输入示例(0索引): a = [ [3,2,5,0], # Bob doesn't necessarily sort his lists [1,3], [2,1,0,4], [4,5,3], [6,6] ] 输出示例(带注释,当然不是必需的): output = [ [0,2] # On day 0, Bob made one type 0 and one type 2 …

5
代数曲线绘图仪
代数曲线是“ 2D平面”的某个“ 1D子集”,可以描述为{(x,y) in R^2 : f(x,y)=0 }多项式的零集f。在这里,我们将2D平面视为真实平面R^2这样我们就可以轻松想象出这种曲线的样子,基本上是可以用铅笔绘制的东西。 例子: 0 = x^2 + y^2 -1 半径为1的圆 0 = x^2 + 2y^2 -1 椭圆 0 = xy 一个十字形状,在x轴的基本上联合和y轴 0 = y^2 - x 抛物线 0 = y^2 - (x^3 - x + 1)一个椭圆曲线 0 = x^3 + y^3 - 3xy 笛卡尔的叶 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.