Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

11
计算您的堆叠交换信誉
背景: 我经常发现,在浏览Stackexchange网站时,我开始怀疑人们如何获得自己的声誉。我知道我总是可以依靠codegolf SE来解决我的问题,所以这里是: 创建一个程序,该程序将接受代表一个人的声誉的正整数。我们将忽略赏金,并说这些是在SE上获得/失去代表的唯一方法(此处是完整表格): 每个帐户以1个代表开始,且不能低于该代表 您的问题已获通过= +5 您的答案被推荐= +10 您的问题被否决= -2 您的答案被否决= -2 您否决了一个答案= -1 您的答案被接受= +15 您接受答案= +2 您的程序必须弄清楚在该用户的帐户上发生了多少这些操作才能获得他们的代表。它必须找出最短数量的动作才能达到此级别的代表。例子: 输入:11输出:1个答案 输入:93输出:接受6个答案,接受1个答案 在这些示例中,当我说“问题投票”时,表示该人的任务被投票了。当我说“答案被否决”时,表示他们对其他人的答案有所反对。 规则: code-golf,因此可以胜任的最短代码将获胜。
13 code-golf 

28
输出整数的第n个数字
如果不使用字符串(除了在必要时,如与输入或输出)计算第n个位,从左侧,一个的整数(在基体10)。 输入将以以下格式给出: 726433 5 输出应为: 3 因为那是“ 726433”的第五位数字。 输入将不包含前导零,例如“ 00223”。 测试案例/更多示例: 9 1 -> 9 0 1 -> 0 444494 5 -> 9 800 2 -> 0 这是代码高尔夫;最少的字符获胜,但是任何内置函数(例如“ nthDigit(x,n)”)都不可接受。 以下是一些伪代码,可以帮助您入门: x = number n = index of the digit digits = floor[log10[x]] + 1 dropRight = floor[x / 10^(digits - …
13 code-golf  math 

1
Brainf ** k调试器
您的挑战是要像这样输入(Hello World程序): ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 并输出提示(将为"> "): > 然后,用户可以在提示符下输入任何内容。您的简单调试器必须具有以下命令: S - 步 L步进后输出当前位置(请参阅)。 S(a positive integer) -走那么多空间 L - 位置 术语“位置”始终是指您在程序中的位置(即指令指针)。 格式如下: v +++++++[>+++++++<-]>. 这意味着程序的当前位置在第三个位置+。 G(an integer) - 去 这意味着继续踩,直到到达那个位置。如果您到达程序的结尾但还没有到那儿,只需退出程序即可。 负整数表示末尾有许多字符。是的,这意味着-0不同于0,并且-1是倒数第二个字符。 不要为此命令输出任何内容。 D -转储数组 格式像 1, 2, 3, 4, 5 如果数组是1, 2, 3, 0, 0, 0, 0, 0, ...,则仅输出1, 2, 3。 D(a …

6
我的机器人逃脱了实验室!
我的机器人由于某种原因短路,并从实验室随机逃逸! 幸运的是,每当他这样做时,他的关闭顺序都会启动,这给了他足够的时间在关闭前随机旋转并朝着其朝向运行五轮。他的陀螺仪和加速度计功能仍在将数据传回实验室的过程中。 例如,数据将始终以五组两个数字的形式出现。 12:234,-135:47,-68:230,140:324,127,87 高尔夫球手的任务是:a)通过显示五组数字来模拟机器人的疯狂奔跑和转弯顺序,a1:d1,a2:d2,a3:d3,a4:d4,a5:d5其中a(n)是顺时针角度(以度为单位),-179<=a<=+180以便机器人从当前航向转弯(最初,它处于零方位,然后才开始惯性旋转并第一次转弯。)d(n)是在下一个航向变化之前它已经经过的距离(以英尺为单位)0<=d<=500;b)实验室计算出的航向(航向也为零),以英尺为单位的距离(强烈建议精确到小数点后3位,如果是,则为-5字节),以及方向航向(以度为单位)关闭机器人时面对的位置。 简单的例子: Data: 0:1,45:1,90:1,90:1,90:1 Heading: 0 Distance: 1 Orientation: -45 随机的转弯和距离就是随机的。没有设置值要进行硬编码,我们必须在代码中看到随机的行为。 对随机性的限制:没有基于时钟或日期的引用,我们需要random在代码中查看本机引用。每当您运行此代码时,随机性都必须能够在每次转弯回合中显示360个可能的转角之一。因此,机器人可能会转一圈-36度,下一圈可能转+157度,然后再转+2度再转-116度再转一圈,最后转一圈再转+42度。每个随机角度生成必须至少有360个不同的值(在-179至+180度之间)。 距离行驶的限制:同样设置,机器人可以行驶501种可能的距离(包括0到500英尺),因此我希望在确定机器人的行驶距离时也可以使用随机性。从理论上讲,该机器人可以在各自的回合中运行45英尺,117英尺,364英尺,27英尺和6英尺... 馈给您的数据将始终为整数值……机器人将以度数的整数范围旋转,并将以距离的整数范围运行。但是输出值将是浮点数... 这是代码高尔夫球。最短的代码胜出...现在去寻找我的机器人! PS:关于我的“精度最多3个小数位”,如果您可以提供航向(以度为单位,最小为3个小数位)和以英尺为单位的距离(也可以精确到最小3个小数位),将获得-5字节的奖励)。
13 code-golf  math 

3
创建一个到井字游戏检查器的n
创建最短的程序检查谁已经在n赢得d井字游戏。 当n(宽度)和d(维数)在以下范围内时,您的程序应该可以运行: n∈[3,6]∩ℕ ie a number from this list: 3,4,5,6 d∈[2,5]∩ℕ ie a number from this list: 2,3,4,5 n = 3; d = 2(3 2即3 x 3): [][][] [][][] [][][] n = 3; d = 3(3 3即3 x 3 x 3): [][][] [][][] [][][] [][][] [][][] [][][] [][][] [][][] [][][] …

30
将数字列表排序为奇数和偶数类别的最短程序
在《新近时代》中,查理·卓别林(Charlie Chaplin)遇到一台计算机时,他被雇用在分拣场中,作为检验员来确定工人是否正确地对物品进行分拣。有问题的物品是大理石包。大理石数为奇数的小包被堆叠在红色篮子中,大理石数为偶数的小包被堆叠在蓝色篮子中。 查理·卓别林(Charlie Chaplin)应该打孔程序,该程序将验证排序过程中是否存在任何异常。马克·斯温(Mack Swain)的直属上司分享了一种他需要编码的算法。 算法 L = List of Marble packets that's already sorted L_ODD = List of packets with Odd Number of Marbles L_EVEN = List of packets with Even Number of Marbles Check_Digit = √(ΣL_ODD² + ΣL_EVEN²) 他的工作是确定Check_Digit,并将其与Boss计算的值相匹配。 查理·卓别林(Charlie Chaplin)在午餐时间可以偷偷溜到马克·斯温(Mack Swain)的抽屉里,确定他的抽屉在前46 32列上有一张带有打孔器的卡片(这意味着马克只能编写一个只有46 32个字符的程序)。 查理·卓别林(Charlie Chaplin)现在需要所有代码忍者的帮助,才能编写出尽可能少的行。如果有人能提出比他的老板短的程序,他还将宣布50分的奖励。 摘要 给定一个正数(奇数和偶数)的列表/数组/向量,您需要编写一个函数,该函数将接受array(int …

14
矩形假分形
目标 该程序的目标是绘制一个ASCII艺术矩形,该矩形的大小在水平方向和垂直方向上反复翻倍。每次矩形大小加倍时,多余的区域将用不同的字符表示,并且先前的区域将保持不变。最小的两个部分各包含一个字符,并且可以位于任何角落。 该程序接受单个整数作为输入,定义整个矩形包含的部分数量。 不允许其他外部资源或输入。 样本输入和输出 10 ABDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ CCDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ 选择标准 一周内最短的代码将赢得积分。

11
查找所有遵循模式的时间
您的工作是编写一个程序,该程序始终按照以下任何一种模式进行打印(格式为HH:MM,24小时): 小时等于分钟,例如22:22,01:01 小时等于倒数分钟,例如10:01、01:10、22:22 与H:MM或HH:MM匹配的序列始终以HH:MM打印。例如00:12、01:23、23:45、03:45,等等(总是在数字之间输入一个步骤) 规则: 您可以选择任何喜欢的语言 您无法重复打印 按照一天的顺序,每行一次 获奖者将在2月5日入选。 PS:这是我的第一个问题,可能存在一些不一致之处。随时编辑。 PS2:这是预期的44个解决方案(已由Josh和primo提出,谢谢!) 00:00 00:12 01:01 01:10 01:23 02:02 02:20 02:34 03:03 03:30 03:45 04:04 04:40 04:56 05:05 05:50 06:06 07:07 08:08 09:09 10:01 10:10 11:11 12:12 12:21 12:34 13:13 13:31 14:14 14:41 15:15 15:51 16:16 17:17 18:18 19:19 20:02 20:20 21:12 …

3
编写脑力激荡的编译器
编写一个需要脑力激荡的程序并将其编译为可执行的机器代码的程序。您可以定位x86,x86_64,jvm(Java字节码)或armv6,并使用以下可执行格式之一:ELF,a.out,类文件,exe,com。该可执行文件应在Linux或Windows(或两者中的Java)上运行。 您的程序或生成的可执行文件都不能运行任何外部程序(例如另一个编译器,汇编器或解释器)。 最短的代码获胜。

7
莫尔斯电码到标准输出
这个问题涉及将摩尔斯电码的输入作为。(句点)和-(减号),并用空格分隔输入。您的任务是将代码转换为标准输出。您可以假定唯一的输入包含在国际摩尔斯电码字母表中找到的字符符号,可以在以下位置找到:http : //en.wikipedia.org/wiki/Morse_code#Letters.2C_numbers.2C_punctuation。 所有输出应使用小写字母。双精度空格应解释为单词空格。 输入样例: . -..- .- -- .--. .-.. . .-.-.- ... --- ... 输出: example. sos 两周后获胜的最短代码。

2
在围棋板上移动
您将获得棋牌游戏和棋局的位置。您需要输出此举是否合法,以及新董事会职位(如果合法)。 围棋动作的简要说明:游戏包括将黑白棋子(“石头”)交替放置在方形板上的空白处。相互连接(4路)的相同颜色的零件组称为组。板上邻近某个组(也是4向)的空白位置被视为该组的“自由”。拥有0个自由的组被捕获(从董事会中删除)。除非捕获一个或多个对手的组(此过程中获得了自由,因此实际上并未被捕获),否则将导致其自身的组被捕获(“自杀”)的举动是非法的。 对于那些相关人员,您不需要处理ko(和superko),即,您可以假定ko捕获是合法的。如果您不知道这是什么意思,请遵循上述规则,就可以了。 输入: 2到19(含)之间的数字n代表棋盘的大小,n行n介于0到2(含2)之间的n数代表棋盘的位置,后跟3个以空格分隔的数字,代表进行的动作。在棋盘位置,0表示空白,1表示黑色石头,2表示白色石头。此举使石头的列,行和颜色(1或2)得以放置。列和行从0开始,从0到n-1(含)范围内,并按与板输入相同的顺序计数。 您可以假定给定的董事会职位是合法的(所有团体至少有一个自由)。 输出:如果移动是否合法,则该行包含1或0(如果愿意,则为true / false),然后(仅在合法移动的情况下)以与输入相同的格式跟随新的木板位置。 得分:完整源代码的字节数,越小越好。如果使用非ascii字符,则要加收20%的罚款,如果无法使用免费软件在Linux中测试您的代码,则要加收20%的罚款。 规则:没有网络连接,也没有第三方库。您的程序应使用标准的输入和输出流,或您的编程语言使用的标准等效流。 例子: 1) Input: 2 10 01 1 0 2 Output: 0 2) Input: 2 10 11 1 0 2 Output: 1 02 00 3) Input: 5 22122 22021 11211 02120 00120 2 1 1 Output: 1 00100 00101 11011 …

3
实施通用机器模拟器
目的是编写一个完整的程序,用最短的代码模拟ICFP 2006中的Universal Machine。通用机具有一个非常简单的指令集,在此进行说明。仿真器必须从命令行参数读取文件名,然后以程序形式运行文件,因此您的语言必须以某种方式支持命令行参数和stdin / out。仿真器必须在合理的时间内(而不是数十年内)完成沙标。这是指令集的简短说明: 该机器有八个寄存器,每个寄存器保存一个32位无符号整数。 机器拥有一组索引的32位无符号整数单元格数组。 简而言之,分配指令返回一个不透明的32位uint,它是所创建数组的句柄,该数组具有静态大小,并保存32位uint元素。 第0个数组表示程序。它是在启动时从big-endian文件加载的。 还有一个指令指针指向0数组中的一个单元。 在每个步骤中,从指针所指向的单元中读取一条指令,并在完成任何操作之前先确定指针。 4个最高有效位代表操作码。 如果操作码为13,则接下来的3位代表寄存器,其余的25位代表写入所述寄存器的编号。 否则,9个最低有效位代表三个寄存器,即A,B和C,其中C由3个最低有效位代表。 然后根据操作码,将发生以下情况: 0. A = B,除非C == 0 1. A = B [C] 2. A [B] = C 3. A = B + C 4. A = B * C 5. A = B / C 6. …

24
交换两个文件的内容
这是一个代码问题。您需要获取两个单独文件(i.txt和o.txt)的内容并交换它们。您可以创建第三个文件来帮助您完成该过程,但是在交换文件内容之后,让程序将其删除。现在再次允许重命名文件。 程序必须适用于任何文件内容。 最短的代码胜出,所有合格的提交将被投票。
13 code-golf 

3
拼命寻找圣诞老人
在一个拥挤的场景中找到圣诞老人和他的驯鹿。 输入值 输入将在STDIN上,并且将是可变长度的,相等但可变的字符行。如果S场景中有圣诞老人(由角色表示),则他的礼物袋(由角色表示P)将位于与他相邻的位置之一(水平,垂直或对角线)。他的驯鹿(每个由字符代表R)都将在他周围的5x5正方形内。如果S场景中出现的礼物没有礼物袋,或者没有至少四只驯鹿陪伴,则不是圣诞老人。 输出量 场景清除了所有混淆(所有非圣诞老人,非礼物,非驯鹿角色替换为空格),显示了圣诞老人,他的礼物袋和他的驯鹿-所有其他角色均应替换为空格。如果圣诞老人和他的驯鹿不在现场,则将其输出不变。可以保证只有一种解决方案,因此有效的圣诞老人不会超过一个,他也不会携带超过一袋的礼物。 例子 在这些例子中,我只是用*字符可以很容易地看到S,P和R人物,但是你的程序应该能够从处理任何ASCII字符!来`(33至96)。为了避免混淆,我省略了小写字母和大写字母。 输入: *********** *********** *********** *****R***** ******P**** *****S***** *****R***** ****R**R*** *********** *********** *********** *********** 输出:(忽略点,它们将迫使页面显示空白行) . . . R P S R R R . . . . 输入:(驯鹿不足) *********** *********** *********** *********** ******P**** *****S***** *****R***** ****R**R*** *********** *********** *********** *********** 输出: *********** *********** …

3
三角形的中心
圆和正方形具有单个确定的中心点。然而,三角形中心的概念早已被讨论。古希腊人知道四个不同的中心: 中心:三角形的角平分线的交点 质心:从三角形的每个顶点到其相对边的中间的线的交点 外心:侧边的垂直平分线的交点 垂心:三角形的高度的交点 欧拉后来证明,质心,外心和正交中心在任何三角形中共线。这三个点在一个三角形上的线称为欧拉线。它是为除等边三角形以外的所有三角形定义的,所有点都重合。 您面临的挑战是创建最短的程序或函数,当给出两个输入时,将输出特定的中心或三角形的欧拉线。第一个指定三角形每个顶点的坐标。第二个是1到5之间的整数,用于确定要输出的内容。 1 - Incenter 2 - Centroid 3 - Circumcenter 4 - Orthocenter 5 - Equation of Euler Line (if the Euler Line is vertical, output the `x` value of the line (e.g. output `5` if the equation of the line is `x = …

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.