Questions tagged «code-golf»

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

3
雪橇包装问题
圣诞老人的精灵需要帮助来确定他们当前的礼物是否适合圣诞老人的雪橇。用您选择的语言编写最短的程序,以帮助他们。 约束条件 圣诞老人的雪橇宽6英尺,长12英尺,深4英尺。 礼物可能很脆弱,因此它们可能不会堆叠在一起。 您可以根据需要旋转和翻转礼物,但是圣诞老人的强迫性非常强,因此将旋转保持90度的倍数即可。 北极的健康和安全法规规定,礼物的伸出高度不得超过雪橇顶部的1英尺(因此,高度不得超过5英尺)。 输入值 输入将打开,STDIN并且将是一个整数,代表批次中的礼物数量,其后是礼物尺寸的列表-每行1个礼物,每行3个尺寸(以英尺为单位),以空格分隔。 例子: 1 6 12 5 6 1 12 3 1 12 4 1 12 1 1 12 5 1 12 3 1 12 5 1 4 3 13 1 6 12 6 输出量 如果礼物可以装在雪橇上,则输出应该只是单词“ YES”(是),否则不能输出“ NO”(否)。 以上示例的输出: YES YES NO NO 测试脚本 …
11 code-golf 

3
仅用一个解决方案创建一个多级5x5x5迷宫
这项挑战的目的是创建最短的代码(以字符为单位),以成功执行以下操作: 规格: 必须5x5x5 labyrinth精确地创建一个1 possible solution(不多不少) 必须创建迷宫 randomly 如果运行多年,它必须能够生成每个现有解决方案 该start和finish必须放在*opposite corners 地图output必须采用以下格式之一: 选项输出格式1 strings, printed or alerted: xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx/ xxxxx,xxxxx,xxxxx,xxxxx,xxxxx 选项输出格式2 arrays: [[xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx], [xxxxx,xxxxx,xxxxx,xxxxx,xxxxx]] 输出说明: 使用0了empty和1用于squares 换行是不是必要的 您决定什么index是什么,但请务必将其解释清楚 *以下是我在相反的角落所指的例子: 说明: 能不动的diagonal 能不相同的路径上通过两次 有inaccessible areas被允许 您可以go up/down连续超过一个级别 提示: 不要将它们视为墙,而应将它们视为5x5x5一堆正方形,其中一些缺失,您可以遍历缺失的正方形

8
ASCII标尺生成
挑战在于生成以下格式的ASCII字符计数标尺: +-------------------------------------------------------------------------+ || | | | | | | | | | | | | | | | |0 10 20 30 40 50 60 70 | | | +-------------------------------------------------------------------------+ 标尺的长度应可扩展为10的任意倍数。 规则: 标尺必须水平。 假设为了简化起见,标尺必须工作到1000标记,所有数字都左对齐,最后一个数字之后一个空格。 要求长度为零的标尺应打印NaR 负数应打印与右对齐数字相反的标尺(-90,-80,-70,...),否则格式应与上述相同 而且,只需打印到控制台就可以了 准备,开始,打高尔夫球!

2
十六进制的Blockbox?
用任何需要6位十六进制输入/参数的编程语言编写程序或函数。输入/参数可以是6个值或6个字符串。 您的程序应输出一个正好8个字符的矩形矩形块,该块仅包含提供的十六进制数和空格(+换行符)。矩形块是较小的块形状的组合,分别对应6个提供的值。 以下是2个演示样本输入和样本有效输出: 样本输入: "464fa6" or [4, 6, 4, 15, 10, 6] 一个有效的解决方案输出: 44 66 ff 44 66 ff 66 ff aa f aaa ffff aa ffff aaa 6 44 66666 44 样本输入: "35bf12" 一个有效的解决方案输出: 55555 22 bbbbbbbb b b b 33 fffff 3 ff ff ffffff 1 规则: 输出必须是矩形 …
11 code-golf 

13
你好世界彩虹
使用非标记语言处理颜色通常会使事情复杂化。我想看看在不同语言中如何使用颜色的一些变化。 比赛的目的是输出七种彩虹色的“ Hello World”。 根据维基百科,这些是7种颜色。 Red #FF0000 (RGB: 255, 0, 0) Orange #FF7F00 (RGB: 255, 127, 0) Yellow #FFFF00 (RGB: 255, 255, 0) Green #00FF00 (RGB: 0, 255, 0) Blue #0000FF (RGB: 0, 0, 255) Indigo #6600FF (RGB: 111, 0, 255) Violet #8B00FF (RGB: 143, 0, 255) 规则 该程序必须输出“ Hello …

8
codegolf.com:节省时间
来自codegolf.com(截至2011年9月15日未加载)使我发疯。将格式精确的时钟打印到STDOUT,从STDIN读取时间,并h在小时和m分钟(将其舍入为5的倍数)x上标记一个o,如果它们重叠,则用标记未使用的刻度。 echo "23:13" | perl script.pl 产量 o h o o m o o o o o o o 我的是: $/=':';($h,$m)=<>;printf'%9s %5s%8s %2s%14s %s%16s %2s%14s %5s%8s %9s',map{qw'o h m x'[2*($_==int$m/5)^$_==$h%12]}map{$_,11-$_}0..5 使用Perl获得136个字符。我希望可以进入该站点,但我似乎还记得,领导者还不到100岁,也使用了Perl。有人可以击败它吗?
11 code-golf 

10
找到最大的子序列总和
给定整数序列,可以找到该序列的子序列(在连续位置上的整数)的最大和。子序列可以为空(在这种情况下,总和为0)。 从标准输入读取输入,每行一个整数。必须将最大金额写入标准输出。 我为您编写了一个小型发电机: #include <stdio.h> #include <assert.h> /* From http://en.wikipedia.org/wiki/Random_number_generation */ unsigned m_w; unsigned m_z; unsigned get_random() { m_z = 36969 * (m_z & 65535) + (m_z >> 16); m_w = 18000 * (m_w & 65535) + (m_w >> 16); return (m_z << 16) + m_w; /* 32-bit result */ …

5
乐谱翻译
给定ascii乐谱,您必须能够输出音符及其相应的长度。乐谱将包含5到15个音符(含在内),并记录在五线谱上。冷却壁由五条水平线组成,水平线由-个(减号)字符组成,并由空格隔开。五线谱的底线等效于音符“ E”。紧靠底线上方的空格线表示“ F”,并且其底线的间距高于其下方的“ E”。这继续如下。请注意,在重新从“ A”开始之前,音符只会升至“ G”。见下文: F ---------- E D ---------- C B ---------- A G ---------- F E ---------- 请注意,输入中不包含字母。音符使用ao(小写字母ooh)字符叠加在五线谱的顶部,以指示“音符头”。该音符头指示音符的频率,因此如上所述,按字母顺序表示。例如,在乐谱上的音符如下所示表示“ A”: ---- ---- ---- o ---- ---- 像上面的“ A”一样,音符被称为“整个音符”,并且将被演奏一整拍。其他持续时间可以通过从音符中升起的“茎”指示,并且介于零和三个“标志”之间。茎由三部分组成| (竖线或竖线)字符堆叠在音符头上方。没有标志的茎被认为是“四分音符”,并且每节拍演奏四分之一。标志是\(反斜杠)字符,并位于茎的右侧。每个词干将音符演奏的时间减半。每个音符的长度为以下之一:整音符,四分音符,八分音符,十六分音符或三十秒音符。每种类型的便笺如何查找A: -------------------- ----|---|\--|\--|\-- | | |\ |\ ----|---|---|---|\-- o o o o o -------------------- -------------------- 将多个音符放在一起可以得到一个分数。每个注释可以被认为是四个字符宽,每个四个字符块的第一列中都有一个注释。例如 : |\ ----|\--|\---------- |\ …

7
编写一个自我复制程序。
编写一个简单的程序,该程序在执行时会自我复制。 您的程序应为Windows,Linux等上的某种可执行文件,应生成新的可执行文件,该文件与原始可执行文件相同,带有随机名称,然后退出。 您的程序不应涉及任何类型的文件读取或复制。仅允许写入文件以生成新的可执行文件。 (附言。当我进入维基百科时,我很尴尬,Self-replicating program重定向到Computer virus文章...:/ ...) 最小的可执行文件大小为准。您的答案可能是带有正确的OS&编译器的编程代码,汇编代码或可执行文件的HEX转储。
11 code-golf  quine 

5
计算两天之间的差。
另一个日期处理问题:P 任务 编写一个程序或函数来计算用户给定的两个日期之间的差。 输入输出 与上一个输入类似,输入为2 YYYYMMDD,以空格,逗号,或减号分隔-。 输入值示例: 20100101-20010911 20110620-20121223 19000101 20101010 33330101,19960229 00010101 99991231 输出是一个整数,它是两个日期之间的差,以天为单位。 例如,输入20110101-20100101yields 365和33320229 17000101yields 596124。 您可以测试结果 在这里 在这里。(请参阅下面的rintaun注释。)如果两个日期相同0,则该日期应该是有效的(请参见Score)。 限制 当然,你必须不能使用任何 / ......这些都与时间戳或日期类型的函数/类的,你应该使用公历。 得分了 如果您的代码没有保留该限制,则score = -∞。 默认bonus值为1。 如果您的代码不管输入顺序如何(例如20100101,20110101return 365或-365)都可以工作,则bonus+=1。 如果您的代码可以处理0年,bonus+=0.5。 如果您的代码识别出无效的月份(介于1到12之间)/日期(介于1到31之间),例如20109901或34720132,并打印E(&终止程序或返回类似的东西0)bonus+=1。 不管上面的规则,如果你的代码识别无效的日期,如20100230,20100229或20111131,并打印E(终止程序或返回类似0)bonus+=1。 无论上述两个规则,如果你的代码识别无效的输入字符串,如20100101|20100202或2010010120100202,并打印E(终止程序或返回类似0)bonus+=1。 score = floor(-4.2*code.length/bonus)。得分最高的代码获胜。如果两个最高代码得分相同,则奖金最高的代码获胜。如果两个最高代码同时具有相同的得分和奖金,则获胜最多的代码将获胜。 (到期日:当有5个以上的代码具有超过(或相等的)+1票数时。)
11 code-golf  date 

8
Skat计分器
您的任务是编写一个小程序,该程序计算Skat手的点数。Skat牌组有7到10张牌,分别是Jack,Queen,King和Ace(称为Unter,Ober,König和Daus)。我们使用的是德国西装,里面有橡子,树叶,心形和铃铛,而不是球杆,黑桃,心形和钻石。点数由卡上的数字确定: 7、8和9是0分 下限是2分 奥伯是3分 柯尼希(König)是4分 10是10分 道斯是11分。 输入输出 输入格式由两个符号组成,第一个代表值,第二个代表西装: 7、8和9代表他们自我 0(零)代表10 Unter,Ober,König和Daus以其首字母(U,O和D)命名 橡子,树叶,心和腹部(A,L,H和B)相同 输入是单行纸牌,由单个空格分隔。您可以从任何地方获取输入,命令行参数也可以。输出是手的值,可以打印出来或作为退出代码返回。如果任何卡在手中出现两次,则程序的输出必须显示错误。(因此7A 0L 7A必须返回一个错误而不是10)。如果这是程序输出结果的默认方式,则退出代码为255而不显示错误也是可以的。 例子 7A 8A 9A UA OA KA 0A DA 7L 8L 9L UL OL KL 0L DL 7H 8H 9H UH OH KH 0H DH 7B 8B 9B UB OB KB 0B DB给出120 7A …

30
列举0到n之间的所有回文数(十进制)
给定一个非负整数n,请列举介于0和n(包括范围)之间的所有回文数(十进制)。回数数字相反时,其数字保持不变。 第一个回文数(以10为底)在这里给出: 0、1、2、3、4、5、6、7、8、9、11、22、33、44、55、66、77、88、99、101、111、121、131、141、151, 161、171、181、191、202、212、222、232、242、252、262、272、282、292、303、313、323、333、343、353、363、373、383、393、404, 414、424、434、444、454、464、474、484、494、505、515,... 这是一场代码高尔夫,奖金最少的人物。回文编号应每行输出到stdout。该程序应从命令行或标准输入中读取n。
11 code-golf  number 


1
为gzip文件编写一个压缩工具
这项挑战的任务如下: 编写一个程序,从stdin或其他任何地方(无论您喜欢什么,但不能对其进行硬编码)读取一个合理大小的文件(例如<16 MB),并将压缩后的输出放到stdout上。输出必须是有效的gzip压缩文件,并且如果该压缩文件通过gunzip运行,则它应产生与以前完全相同的文件。 规则 在比赛开始之前必须知道所使用的编程语言 程序的分数是源代码或汇编程序的字符数(以较短者为准) 您不得使用任何现有的压缩库。 玩得开心!

7
建立一个九级猜词游戏
基础: 您需要提供尽可能少的字符(以您选择的语言显示)的九级猜词游戏。 指标: 提供单词列表(每行一个单词,用换行符分隔)(例如 /usr/share/dict/words,可以这样做)。可以将文件名或单词列表本身通过管道传递到您的解决方案中。 提供9个级别,这些级别的单词长度递增(带有4个字符和->12个字符的单词): 级别1:来自单词表的随机单词,包含4个字符 级别2:来自单词表的随机单词,包含5个字符 …… 级别8:来自单词表的随机单词,包含11个字符 9级:来自单词表的随机单词,包含12个字符 在每个级别中,混淆从列表中随机选择的单词(当然具有特定的单词长度),并用星号(*)替换一定数量的字符。该数字的字符来代替:current_word_length / 3(向下取整)。随机替换哪些字符。 让玩家“猜”这个单词(try每个级别仅一个),给出反馈(correct或wrong)并相应地给出分数。正确时,玩家获得number_of_obfuscated_characters * 10 points。 在每个级别的末尾打印当前分数。 格式(&示例I / O): 确保遵循以下格式设置方案: 级别1#级别标头 =======# g * ek#混淆词 极客#用户输入 正确的#猜测验证 得分:10#打印得分 # 2级 ======= l *核 linux 正确 得分:20 3级 ======= 跑了** m 随机 正确 得分:40 ... 9级 ======= sem …
11 code-golf  game 

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.