Questions tagged «code-golf»

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

6
曲解单项式
有一个方程,假设n且x为正, 表示两个单项式之间的关系,一个是另一种的常见错误陈述。许多人犯了一个简单的错误,即将它们等同(即3x^2和(3x)^2)。 挑战 给定一个正整数,i确定并返回总和最小的解决方案n(x数组)[n, x]。在平局的情况下,任何解决方案集都是可以接受的。 测试用例 62658722541234765 [15, 11] 202500 [4, 15] 524288 [8, 4] 33044255768277 [13, 9]

10
打印此井字游戏板!
这是一个井字游戏板: a b c | | 1 - | - | - _____|_____|_____ | | 2 - | - | - _____|_____|_____ | | 3 - | - | - | | 给定一组动作,在印有令牌的板上打印。 输入将以空格分隔的移动形式输入,每个移动为: 首先,将要使用的令牌 接下来,它要继续前进的列的字母 最后,它正在前进的行号 请注意,通常的井字游戏规则并不重要。 另外,也不需要打印字母和数字。 例如,输入Ob2 Xc2 Ob3 Xa1将导致 | | X | - | - …

1
弹性弯曲
作为程序员,看着我们伸缩并不是很有趣。今天我们改变了!在这个挑战中,您将使用lex和flex六面体。 关于 有关视频介绍,请在flexagons上观看viharts视频 柔版是您可以弯曲以露出顶部和底部以外的其他面的形状;我们正在制作六面六面体。参见下图,了解如何从纸条上折叠六六边形。 A显示了条带的两侧。两个白色三角形粘合在一起。这是您如何调整它: 以下是可能的状态及其关系的图表: 彩色圆圈代表与第一个图像相同编号的6个三角形。每个圆圈都有两种颜色-最下面的圆圈代表背面(如果在哪里可以翻转柔印,您会看到什么),在此挑战中无需考虑。 背景中的灰色圆圈代表你如何展示你的flexagon在任何给定的状态:有4点不同的方式来弯曲它,我们称这些Left,Right,Up和Down。您实际上并没有朝着这些方向弯曲,重要的一点是,有些方向是相反的。 如果您在中心位置,可以使用Left并Right转到其他中心位置。要离开中心,请使用Up和Down。如果您不在中心,则无法使用Left或Right。 Left/Down = clockwise Right/Up = anti-clockwise 挑战 创建一个函数或程序,该函数或程序将柔性版的18个正面和18个背面上应有的内容,左,右,上,下弯曲的序列作为输入,并在弯曲后返回8个可见面。 详细的示例计算: flex "hexaflexaperplexia" "flexagationdevices" [Right, Right, Left] Divide a strip of paper into 18 triangles: 1/2\3/1\2/3\1/2\3/1\2/3\1/2\3/1\2/3 Front 4/4\5/5\6/6\4/4\5/5\6/6\4/4\5/5\6/6 Back Write "hexaflexaperplexia" on the front of the paper strip: 1/2\3/1\2/3\1/2\3/1\2/3\1/2\3/1\2/3 hexaflexaperplexia 123123123123123123 h a …

2
一百个最常用的单词
之所以写这个问题,是因为“ Thing Explainer”很有趣,并且给了我一个主意。 编写“使计算机做事的东西”,以读取/获取一组字母,数字和类似的东西"#%|?,True / 1如果所有单词都属于该集合,则返回。 如果所有单词都不属于该集合,请返回不属于该集合的单词。 在任何情况下都可以认为本网站是正确的。编写规则是为了遵守该站点上的规范。 例子: Truthy: 如果将第一条水平线上方的整个文本粘贴为输入,则代码应返回真实值。 以下几行应返回真实值(输入之间用分隔###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 虚假的: 在以下示例中,输入和输出用分隔***。不同的测试用例用分隔###。 This code …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

2
让我们制作一个地牢地图
很久以前,当我花更多时间玩RPG时,一些玩家遇到的问题之一是跟踪聚会的活动并绘制正确的地图。因此,我提出了一个想法,以检查你们如何处理这个问题。 任务是编写一个函数,该函数将方向作为输入参数列表(作为您选择的结构传递)^v<>,显示地牢地图。在输入示例中,>>>vvv<<<^^^输出为: +----+ +----+ | | |>>>v| | ++ | |^++v| | ++ | because |^++v| | | |^<<<| +----+ +----+ 测试用例 >>>>>>vvvvv<<<<^^^>>v +-------+ | | +-+---+ | | | | | + | | | +-+ | | | +-----+ ^^^^^vvv<<<^^vv>>>>>>>>vv>><<^^^^v>>>>v^<^ +-+ +-+| | +-++-+ | || | | …
9 code-golf 

1
大炮可以去哪里?
介绍 象棋游戏,又称为中国象棋,是一种在中国,越南,台湾和其他东亚国家流行的象棋游戏。象棋两侧的颜色是红色和黑色。象棋有七个部分:将军(G),顾问(A),大象(E),马(H),战车(R),大炮(C)和士兵(S)。出于此挑战的目的,大写字母被认为是红色,小写字母被认为是黑色。这些棋子中的大多数与西方国际象棋的棋子大致相当,但是有一个完全独特的棋子:大炮。 该炮移动像在国际象棋一个车或在象棋战车(移动的任何数量的在任一X或Y轴的空间),但不能攻击这种方式。相反,它沿着X或Y轴(它移动以同样的方式)在攻击由跳跃一个片的任何颜色(朋友或敌人)和着陆的相反色片,它然后捕获的。请注意,像所有国际象棋和象棋棋子一样,大炮无法捕捉到自己颜色的棋子。 例如,在下图中,假定大炮(C)可以移动到的空间标记为*,而大炮()可以跳转和捕获的空间标记为X,假设其中存在黑色/小写字母。 ....X.... ......... ......... ....h.... ....*.... ****C**aX ....E.... ....X.... ....g.... ....R.... 挑战 编写一个程序或函数,以象棋板和该板上的一门大炮的坐标为输入,输出一个大炮可以移动或跳转到的坐标列表。 所有I / O的格式都很灵活。 xiangqi板可接受的格式包括用换行符分隔的字符串,字符串列表或带有不在其中的任何其他分隔符的字符串aceghrsACEGHRS.。您可能会假设该板将始终为9x10,即祥起板的大小。 电路板本身的内容将由多个句点(.)组成,它们表示电路板上的空白点,而字符则表示块。字符到字符的映射如下: A -> advisor C -> cannon E -> elephant G -> general H -> horse R -> chariot S -> soldier 大写字母代表红色,小写字母代表黑色。此处未列出的字符(即不在中aceghrsACEGHRS.)将不会出现在面板中。 输入坐标的格式是灵活的,不需要与输出坐标的格式匹配。例如,它可以是两个整数元素,两个元组,两个带分隔符的数字或两个字符的列表。它也可以是0索引或1索引。您可以假设板上的坐标将始终解析为大炮(C或c)。 加农炮可以跳转和移动到的坐标必须出现在输出的同一列表中。两者之间没有区别。任何单个输出坐标的可接受格式与输入坐标的格式相同。坐标可以用换行符分隔,作为列表输出或任何其他表示形式。不需要特定的命令;顺序甚至不必是确定性的。 请注意,跳到大炮相同颜色(大小写)的片段上是不合法的,因此不能出现在输出中。 测试用例 请注意,并非所有的测试用例都可以使用。 Input board …

4
产生n个正整数n个平方,在连续角上带有旋转*
目的是产生一个n平方(nxn)的随机整数(0-9)的输出,其移动*从左上角开始围绕角沿顺时针方向旋转。正方形应并排并以单个空格分隔。 如果为n = 0,则输出应为空。 输出为n=1: * 输出为n=2: *3 4* 14 07 输出为n=3: *34 82* 291 453 224 924 145 158 57* 输出为n=4: *153 135* 0154 0235 2352 5604 3602 2065 2245 6895 3561 7105 7225 5785 479* *662 注意*从左到右的旋转方式(围绕正方形的角),如下所示:左上,右上,右下,左下,左上等,(顺时针) 最短的答案(以字节为单位)获胜。

1
移动平台!
挑战 给定一个字符串(可能有换行符)或一个二维数组,以及一个正整数n,输出平台的位置n在初始位置之后旋转。 U, D, R, L 是平台。 ^, v, >, < 是更改平台方向的箭头。 U, D, R, L分别向上,向下,向右和向左移动。当箭头在平台前面时,它会改变方向。 影响平台: R< D ^ v U >L >L < (顶部箭头会影响顶部L,但底部箭头不会影响顶部L) 不会影响: < R > L v U D ^ <R (R操作正确,因此<不会影响R) 例如,如果这是字符串: >R < 平台R将向右移动,直到接近箭头为止: > R< 之后,它将改变方向并开始向左移动: > R < (即使现在已经走了,字母也不会改变。) 在某些情况下平台无法移动,例如 >R< …

8
中世纪拼字法
任务 您的任务是将文本转换为中世纪的拼字法。 细节 j被转换为i与J向I。 u和U单词的开头分别转换为v和V。 v和V除单词开头以外的任何地方分别转换为u和U。 sſ除非在单词的末尾或另一个之前,否则将转换为(U + 017F)s。 眼镜 单词定义为中的字母序列abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ。 所有单词将至少包含两个字母。 输入将仅包含可打印的ASCII字符(U + 0020-U + 007E)。 连续出现的次数不会超过两次s。也就是说,sss将不会是输入的子字符串。 测试用例 个别词: Input Output ------------------------ Joy Ioy joy ioy Universe Vniuerſe universe vniuerſe Success Succeſs successfull ſucceſsfull Supervise Superuiſe supervise ſuperuiſe Super-vise Super-viſe I've I've majors maiors UNIVERSE VNIUERSE 0universe 0vniuerſe 0verify …

7
塞克斯的序列
定义 a(1) = 1 a(2) = 2 a(n)是最小的数字k>a(n-1),它避免的任何3项算术级数a(1), a(2), ..., a(n-1), k。 换句话说,a(n)是的最小数目k>a(n-1),使得不存在x,y其中0<x<y<n和a(y)-a(x) = k-a(y)。 算出例子 对于n=5: 我们有 a(1), a(2), a(3), a(4) = 1, 2, 4, 5 如果为a(5)=6,则2, 4, 6形成算术级数。 如果为a(5)=7,则1, 4, 7形成算术级数。 如果为a(5)=8,则2, 5, 8形成算术级数。 如果为a(5)=9,则1, 5, 9形成算术级数。 如果为a(5)=10,则找不到算术级数。 因此a(5)=10。 任务 给定n,输出a(n)。 眼镜 n 将是一个正整数。 您可以使用0索引而不是1索引,在这种情况下n可以为0。如果您使用的是0索引,请在答案中注明。 计分 由于我们试图避免3项算术级数,并且3是一个小数,因此就字节数而言,您的代码应尽可能小(即短)。 测试用例 …

15
随机映射
我们将地图定义为一组键值对。对于此挑战,您需要获取每个值并将其分配给随机选择的键。 您必须随机调整值,然后输出结果图。这意味着每次我们运行您的程序时,我们都有机会获得不同的输出 值的每个可能排列都必须具有非零的出现机会。 所有原始键和原始值必须出现在结果数组中。重复的值在结果数组中必须出现相同的次数。 例如,如果您的地图是: [0:10, 1:10, 5:5] 以下所有条件都必须有出现的机会: [0:10, 1:10, 5:5] (original map) [0:10, 1:5, 5:10] [0:10, 1:10, 5:5] (technically the same map, but I swapped the two tens) [0:10, 1:5, 5:10] [0:5, 1:10, 5:10] [0:5, 1:10, 5:10] 可接受的输入/输出: 您语言的母语地图 您可以输入键值对数组。您可能无法输入2个数组,一个数组带有键,另一个数组带有值。 您可以使用上述任何形式的字符串表示形式 如果输入数组或地图,则可以修改原始对象,而无需返回 输入类型必须与输出类型匹配 如果输入数组,则必须保持键的顺序。 您可以假设键是唯一的,但是不能假设值是唯一的。 这是一个 代码高尔夫球,因此回答越短越好

2
目录结构图形树化
转换经典的目录结构,如下所示: config.yml drafts begin-with-the-crazy-ideas.textile on-simplicity-in-technology.markdown includes footer.html header.html 入这个 . ├── config.yml ├── drafts | ├── begin-with-the-crazy-ideas.textile | └── on-simplicity-in-technology.markdown └── includes ├── footer.html └── header.html 四个空格指定上述目录的嵌套文件夹或文件。 允许的嵌套类别级别可以有所不同。 更新资料 文件名:有效的Linux的文件名不带空格和换行:任何字节除NUL,/并且spaces,linefeeds 绘图字符: | 垂直线(U + 007C) ─箱型图水平灯(U + 2500) ├箱体图垂直和右侧(U + 251C) 优胜者:以字节为单位的最短代码获胜!

6
以循环符号打印对称组Sn的“偶数”排列
任务 定义 考虑点{1,2,3,4,5}及其所有排列。我们可以通过一个简单的技巧找到这5个点的可能排列总数:成像用这些点填充5个插槽,第一个插槽将具有5个可能的数字,第二个插槽将具有5个可能的数字(因为已经使用一个填充了第一个插槽)第三三个,依此类推。因此,置换的总数为5 * 4 * 3 * 2 * 1;这将是5!排列或120个排列。我们可以将其视为对称组S5,然后对称组Sn将具有n! or (n*n-1*n-2...*1)置换。 “偶数”排列是偶数个偶数长度周期的排列。以循环表示法(例如(1 2 3)(4 5)置换)书写时最容易理解1->2->3->1,4->5->4并且具有1个3个长度的周期(1 2 3)和1个2个长度的周期(4 5)。当将排列归类为奇数或偶数时,我们忽略奇数长度的循环,并说此排列[ (1 2 3)(4 5)]为奇数,因为它具有偶数长度循环的奇数{1}。甚至示例: (1)(2 3)(4 5)=两个2长度循环| 偶数 (1 2 3 4 5)=没有均匀的长度循环| 偶数 *请注意,如果不存在偶数长度循环,则排列是偶数。 奇怪的例子: (1 2)(3 4 5)= 1个2个长度周期| 奇数| (1)(2 3 4 5)= 1个4个长度的周期| 奇数| 由于在任何对称组中恰好一半的排列是偶数,因此我们可以将偶数组称为交替组N,因此S5 = …

3
解析和处理键语言输入
让我们解析和处理键语言!给定一系列键盘按键和/或特殊键的输入,编写一个程序,功能等,当根据以下键盘处理了所有操作时,该产品就会输出产品: +-------------------------------------------------------+ | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | - | + | | | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 …

10
从一组现有的权重中进行选择以得出目标总和
举重时,我想通过将几块板连接到一根杆上来达到特定的重量。 我有以下板块: 6个每块1公斤的盘子 6盘2.5公斤装 6盘5公斤装 6盘10公斤装 酒吧本身重10公斤。 只允许成对安装板-将板连接在钢筋的两端,并且两端的布置必须完全对称(例如,在一端连接两个5公斤重的盘子,在一端连接10公斤重的盘子)出于安全考虑,另一端被禁止)。 编写一个程序或函数,告诉我要获得给定的总重量,我必须使用每种类型的板数。输入为大于11的整数。输出是一个包含4个数字的列表/数组/字符串。如果不可能合并现有板块以获得目标重量,则输出零/空数组,无效字符串,引发异常等。 如果有多种解决方案,则代码只能输出一种(不要让用户选择-他忙于其他事情)。 测试用例: 12 -> [2 0 0 0] - 2 plates of 1 kg plus the bar of 10 kg 13 -> [0 0 0 0] - a special-case output that means "impossible" 20 -> [0 0 2 0] - 2 …

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.