Questions tagged «code-golf»

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

4
在韩文两组键盘和qwerty键盘之间转换
介绍 它有点像DVORAK键盘布局,但要难得多。 让我们先谈谈韩文键盘。正如您在Wikipedia中看到的那样,有一个Kor / Eng键可以在韩文和英文键集之间进行切换。 韩国人有时输入错误:他们试图在qwerty键盘上用韩语书写,或者在两组键盘上用英语书写。 因此,这就是问题所在:如果给定在两组键盘中输入的韩语字符,请将其转换为在qwerty键盘中键入的字母字符。如果使用qwerty输入了给定的字母字符,请将其更改为两组键盘。 两件套键盘 这是两套键盘布局: ㅂㅈㄷㄱㅅㅛㅕㅑㅐㅔ ㅁㄴㅇㄹㅎㅗㅓㅏㅣ ㅋㅌㅊㅍㅠㅜㅡ 并使用shift键: ㅃㅉㄸㄲㅆㅛㅕㅑㅒㅖ 仅第一行发生变化,而其他行则保持不变。 关于韩文字符 如果到此结束,这可能很容易,但是没有。当您键入 dkssud, tprP! 输出不会以这种方式显示: ㅇㅏㄴㄴㅕㅇ, ㅅㅔㄱㅖ! 但是这样: 안녕, 세계!(means Hello, World!) 这使事情变得更加困难。 朝鲜语字符分为三部分:“宗城(辅音)”,“正城(元音)”和“正城(音节结尾的辅音:可以为空白)”,您必须将其分开。 幸运的是,有办法做到这一点。 如何分开 朝鲜有19个成城,21个成城和28个成城(带空白),0xAC00是朝鲜语的第一个字符“가”。使用此功能,我们可以将朝鲜语字符分为三个部分。这是两个键盘中每个键盘的顺序及其位置。 选择顺序: ㄱㄲㄴㄷㄸㄹㅁㅂㅃㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ r R s e E f a q Q t T d w W c z …

30
增量范围!
您的任务是,给定两个正整数xXx和,返回增量范围序列中的前数字。nñnxXx 增量范围序列首先生成一个从1到含)的范围。例如,如果为,它将生成列表。然后,它将重复的以递增的最后值附加到现有列表中,然后继续。nñnnñn333[1,2,3][1个,2,3][1,2,3]nñn11个1 输入例如:n=3ñ=3n=3 n=3 1. Get range 1 to n. List: [1,2,3] 2. Get the last n values of the list. List: [1,2,3]. Last n=3 values: [1,2,3]. 3. Increment the last n values by 1. List: [1,2,3]. Last n values: [2,3,4]. 4. Append the last n values incremented to the …

16
具有自定义标签的二面体D4组组成
二面体组D4D4D_4是正方形的对称组,即通过旋转和反射将正方形变换为自身的移动。它由8个元素组成:旋转0、90、180和270度,以及在水平,垂直和两个对角线上的反射。 图片全部来自Larry Riddle的可爱页面。 挑战在于如何构成这些动作:给定两个动作,输出的动作等同于一个接一个地执行它们。例如,先执行第7步再执行第4步,与执行第5步相同。 请注意,将顺序切换为移动4然后移动7将产生移动6。 结果列于下表;这是D 4组的Cayley表。因此,例如,输入端7 ,4应该产生输出5。D4D4D_47,47,47, 4555 1234567812345678123456782341786534126587412387565867134267583124758624138675423112345678123456781234567823418756341265874123786557681324685731427685421385762431\begin{array}{*{20}{c}} {} & {\begin{array}{*{20}{c}} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\ \end{array} } \\ {\begin{array}{*{20}{c}} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ 7 \\ 8 \\ \end{array} …

2
检错自我修复程序
您的任务是创建一个程序,在该程序中,如果删除了任何一个字符,它将检测到删除了哪个字符,然后将删除的字符重新插入其自己的源文件中。 例如,如果您的程序已RadiationHardened被修改为RadiaionHardened,则您的程序必须输出第5个字节(索引为0)已被修改,然后程序源必须RadiationHardened在执行后立即执行。 注释和规则 您可以假设执行前在源代码中删除了一个字符。未修改程序的行为是不确定的。 您可以假定更改后的字节将被删除,不转置,插入或替换。 如果有多个相同字符的运行,则可以报告运行的第一个或最后一个索引,但要使用的一致。例如,baaad被删除baad可以报​​告1或3(零索引),但是在整个程序中必须相同。 您无需将整个源写到其自己的文件中。您只需要重新插入已删除的字节。 与典型的辐射硬化Quines规则不同,通过读取程序自身的源代码来检测更改的字节是公平的。 您可以通过任何合理的格式输出更改后的字节索引。关于它是0索引还是1索引或任何其他符号,请保持一致。您甚至可以在模板字符串中输出数字。 这是代码高尔夫球,因此最短的程序为准。 祝好运! EDIT1:将要求从替换更改为删除 EDIT2:为重复运行添加了规则

14
乘以两个整数多项式
您的任务是采用两个单变量整数多项式表达式,并将它们乘以其未经简化的第一项主要从左到右展开(对于二项式,则为 AKA FOIL)。请勿组合类似的字词或对结果重新排序。为了更清楚地了解扩展,请按顺序将第一个表达式中的第一个项乘以第二个表达式中的每个项,然后继续在第一个表达式中进行操作,直到所有项都已与所有其他项相乘。表达式将以简化的LaTeX变体形式给出。 每个表达式将是一个由一系列术语组成的序列,这些序列由+(每边正好有一个空格)隔开。每个术语将符合以下正则表达式:(PCRE表示法) -?\d+x\^\d+ 用简单的英语来说,该术语是一个可选的前导,-后跟一个或多个数字,后跟x一个非负整数幂(带有^) 完整表达式的示例: 6x^3 + 1337x^2 + -4x^1 + 2x^0 当插入乳胶,将得到6x3+1337x2+−4x1+2x06x3+1337x2+−4x1+2x06x^3 + 1337x^2 + -4x^1 + 2x^0 输出也应符合此格式。 由于方括号不会以此格式包围指数,因此LaTeX实际上会错误地呈现多位数的指数。(例如,4x^3 + -2x^14 + 54x^28 + -4x^5呈现为4x3+−2x14+54x28+−4x54x3+−2x14+54x28+−4x54x^3 + -2x^14 + 54x^28 + -4x^5)你并不需要考虑到这一点,你不应该包括括号中的输出。 示例测试用例 5x^4 3x^23 15x^27 6x^2 + 7x^1 + -2x^0 1x^2 + -2x^3 6x^4 + -12x^5 …

4
它是有效的点球大战前缀吗?
在协会足球(也称为足球)中,点球大战是第二个打破常规的措施,可能会在加时赛(即协会足球加时赛)之后不能打成平局的比赛中使用。 在点球大战中,主裁判掷硬币确定射门发生在哪个目标,然后掷另一枚硬币确定哪个队先开始。但是,与此挑战相关的唯一事情就是随后发生的事情,如下所述。 每队在开始时有5罚则,罚分是0-0。如果在任何时候,一支球队的剩余罚款还不足以改变目前获胜的球队,那么枪战将停止。 如果没有剩余的罚分,但两支球队的得分相等,则两支球队将被另外判罚。重复该过程,直到点不相等为止。 枪战停止后,点球得分最高的球队获胜。 挑战 您的挑战是给定两个列表,A并B代表球队A和球队B分别得分的点球,以确定他们是否代表有效的点球大战。如果可以达到输入所代表的状态,则无论是否确定获胜队伍,枪战都是有效的。请注意,您可能必须测试两种情况(团队A启动,团队B启动),因为如果至少在一种情况下输入中描述的状态可达到,则输入有效。如果列表的长度不同,则由较长的列表代表的团队首先开始(它只能比另一列表的元素多,而较短列表的团队则无法开始,因为较长列表的团队将受到两次处罚)连续,因为较短的列表会过早耗尽)。 详细的例子 您可以跳到下面的“规则”部分,它们仅用于帮助解决挑战。 假设您将这个枪战作为输入,这-意味着没有进球,也没有进球X(无效): Team A: - X X X X Team B: - - - - X Assuming team A starts first: Team A: - (0 - 0) (max possible score 4 - 5) Team B: - (0 - 0) (max possible score …

14
画复活节兔子
这个快乐的人在民间传说中被称为复活节兔子。 色彩 它使用4种颜色创建: 浅粉红色 深粉红色 白色 黑色 (我很高兴能在您的答案中近似这些颜色。它不必是这种精确的阴影) 形状 它由以下形状构成: 浅粉色(外耳)中的两个高椭圆形。它们具有相同的高度和宽度。 两个深椭圆形的深粉红色(内耳)。它们比外耳要小,并且在每个外耳的顶部都画了一个。它们的高度和宽度相同。 浅粉红色的大圆圈(头)。它与两只外耳的底部三分之一相交(但不高)。 白色的两个圆圈(外眼)。它们画在头上。它们的直径小于外耳的宽度。它们的水平位置与外耳相同。 黑色的两个圆圈(内眼)。它们的直径小于外眼的直径。每个外眼都画一个。 黑色(上口)垂直线一条。它绘制在头上,并且低于外眼的底部。它与每只眼睛的距离大致相等。 黑色的两个弧形(下口)。它们绘制在头部上,并从水平线向下弯曲。两者都与上口的底部相交,但是一个向右,另一个向左。 规则 使用任何您喜欢的语言和工具。 输出可以是图像,html,svg或其他标记。 它是代码高尔夫球,因此请以最少的字节数为目标。 请提供结果截图。 请随意近似定义的颜色。 复活节快乐!

2
这个装饰性日历的顶部将是什么?
有人给了我妻子一个由四个立方体组成的装饰日历。这是在前面显示今天的日期(截至发布此挑战时): 当我第一次看到它时,我从错误的角度(从正上方)看了它,却不知道为什么它提供了以下信息: [["February", "January"], [3], [7], ["Monday", "Tuesday"]] 您的工作是在2019年的任何日期复制我的错误。 挑战 编写一个程序或函数,该程序或函数的日期为2019年的任意日期,并输出从日历的正面朝外显示该日期时所有多维数据集顶部显示的内容。 这是所有立方体的所有六个面。要显示a,6您只需将9颠倒过来。该0是上下对称的,所以0倒挂仍然0。某些日期可能有多个正确答案(例如,每个月的11号将有多种使用多维数据集和0事物的方式),因此您可以输出任何正确答案。 规则 禁止出现标准漏洞。 输入/输出格式灵活。 输出必须按多维数据集顺序排列,但不在多维数据集中。顺序必须首先是月份多维数据集,然后是两个数字多维数据集,然后是工作日多维数据集。但是,当多维数据集的顶部有两个元素时,这两个元素可以任意顺序排列。 您可以根据需要将其替换January为December0-11或1-12。 您可以根据需要将星期几替换为0-6或1-7,并且可以从任一星期开始 Sunday或Monday(但您不能在其他任何一天开始这一星期-这是PPGC,不是某种形式疯狂镇。) 这是代码集。每种语言的最少字节数获胜。 鼓励解释。 测试用例 (Tue) 2019-01-29 [[ "July", "August" ], [3], [7], [ "Thursday", "Wednesday" ]] [[ "August", "July" ], [3], [7], [ "Wednesday", "Thursday" ]] etc. since the order within each …
14 code-golf 

7
磁铁周围的铁颗粒
板上有一些铁颗粒。我们将载流导线穿过该板,并且粒子形成圆圈。如果输入的是导线的位置,则显示这些圆圈。 认为该板是7x7尺寸的网格(固定) 不允许有多余的空格。 输入可以是0索引或1索引。(在示例中为0索引) 例子 input:3,3 # 'X' is wire here but can be shown by anything other than '\/|-' output: /-----\ |/---\| ||/-\|| |||X||| ||\-/|| |\---/| \-----/ input:1,2 output: |/-\||| ||X|||| |\-/||| \---/|| -----/| ------/ ------- input:0,0 output: X|||||| -/||||| --/|||| ---/||| ----/|| -----/| ------/ input:0,3 output: |||X||| ||\-/|| …

22
将英语翻译成语料库
该语料库是从流行的视频游戏中的虚构派战甲神兵谁有几分有趣的语言。 尽管游戏中的其他派系(例如Grineer)在其语言背后都有一些逻辑,但语料库只是英语的有损替代。 除了以下字母映射之外,所有的语料库单词都与它们的英文单词相同: 这会导致一些发音问题,例如: yes变yey say变yay yay变yay sassy变yayyy case变yaye 这是映射的文本版本: a -> a b -> t c -> y d -> p e -> e f -> t g -> j h -> k i -> i j -> t k -> k l -> p m -> s n …

19
你可以吃多少糖果?
这个想法归功于TNB中的Geobits 最近,一篇没有足够详细信息的帖子提出了一个有趣的游戏: 2个孩子坐在一系列糖果前。每块糖果的编号为1到x,代表x存在的糖果总量。每个数字恰好出现1次。 游戏的目标是让孩子们吃糖果并乘以他们所吃糖果的价值,以获得最终分数,并获得更高的分数。 但是,原始帖子错过了关键信息(例如糖果的选择方式),因此我们故事中的孩子们决定大一点的孩子可以先吃,最多可以吃一半的糖果,但是一旦他宣布转身结束,他不能改变主意。 这个游戏中的一个孩子不喜欢糖果,所以他想尽可能少吃东西,而且他曾经看着父亲一次写过一些代码,并且他可以利用从中获得的技能来算出多少糖果他需要吃东西以确保胜利,同时仍然尽可能少吃东西。 挑战 给定糖果总数,即使对手将所有剩余的糖果都吃掉了x,您的程序或函数也应该输出为保证胜利而必须吃的最少n的糖果。 自然地,数字越大,数字越大,所以无论您给他多少,他都会吃掉 n最多的数字。 规则 x在您的语言的数字处理能力的上限范围内,将始终是一个正整数0 < x! <= ll 确保孩子总是吃n最多的,例如x = 5和n = 2,他将吃4和5 测试用例 x = 1 n = 1 (1 > 0) x = 2 n = 1 (2 > 1) x = 4 n = 2 (3 * 4 == …

6
加满水桶
您的任务是在存储桶中填充最多一个给定输入的数字。 规则 数字占据最左侧的位置,然后是最右侧,然后是最左侧,依此类推。 溢出后,数字开始以类似的方式聚集在存储桶周围。他们对角地占据位置。 这些示例应清楚说明预期的输出是什么(示例中提到了一些规则)。 如果超过10,请使用最右边的数字 例子: The bucket: | | or | | | | | | | | | | | | | | |------| |______| input:1 (You can start from either 0 or 1) output: | | (There can be whitespace to the left even if there …

25
标准化样品(计算z得分)
给定浮点数列表,对其进行标准化。 细节 如果所有值的平均值为0,并且标准偏差为1,则列表x1,x2,…,xnx1,x2,…,xnx_1,x_2,\ldots,x_n是标准化的。一种计算方法是首先计算平均值μ和标准偏差σ为 μ = 1个μμ\muσσ\sigmaμ=1n∑i=1nxiσ=1n∑i=1n(xi−μ)2−−−−−−−−−−−−√,μ=1n∑i=1nxiσ=1n∑i=1n(xi−μ)2, \mu = \frac1n\sum_{i=1}^n x_i \qquad \sigma = \sqrt{\frac{1}{n}\sum_{i=1}^n (x_i -\mu)^2} , 然后通过替换每一个计算标准化xixix_i与xi−μσxi−μσ\frac{x_i-\mu}{\sigma}。 您可以假定输入至少包含两个不同的条目(这意味着σ≠0σ≠0\sigma \neq 0)。 请注意,某些实现使用样本标准偏差,该样本标准偏差不等于我们在此处使用的总体标准偏差σσ\sigma。 有一个CW答案为所有平凡的解决方案。 例子 [1,2,3] -> [-1.224744871391589,0.0,1.224744871391589] [1,2] -> [-1,1] [-3,1,4,1,5] -> [-1.6428571428571428,-0.21428571428571433,0.8571428571428572,-0.21428571428571433,1.2142857142857144] (这些示例是使用此脚本生成的。)

5
现实生活中的共轭
在@Adám的 Dyalog APL扩展中,⍢(下)运算符表示共轭:应用一个函数,然后应用第二个函数,然后应用第一个函数的反函数。从共轭的角度考虑现实生活中的动作很有趣: 一个问题由g转换为另一个域,在该域​​中更容易由f解决,然后又转换回原始域。现实生活中的一个例子是“麻醉下”: apply anesthetics perform surgery wake up from anesthetics 挑战 线的g反面以“ un”开头g,反之亦然。按此s顺序,将其之间的任意一行及其反行定义为“在”之下s。每行f输入中的,依次为: 如果 f和都发生逆,则不执行任何操作 如果 f不是“没有”任何其他动作,请打印f 如果f在“一行”下g,则f + " under " + g在+串联处打印。 输入值 非空的多行字符串或字符串列表等,由空格和小写字母组成(您可以改用大写字母)。恰好一行将以“ un”开头;这将是其他一些线的反面。没有行将为空。 输出量 以您输入时使用的相同格式或标准I / O允许的格式输出。 测试用例: Input: apply anesthetics perform surgery unapply anesthetics Output: perform surgery under apply anesthetics Input: unite asia …

13
电脑密码
介绍: 在我小时候编写的文档中,我存储了许多不同的密码,我选择了一些我认为最适合挑战的密码(不太琐碎,也不太难),并将它们转变为挑战。它们中的大多数仍处于沙箱中,我不确定是否要全部发布还是仅发布其中几个。但是,这是第一个开始的事情。 计算机密码将给定的文本加密为给定的“随机”字符组length。如果这样的组包含一个数字,它将使用该数字索引到自己的加密字符组中。如果组中没有数字,则表示使用了第一个字符。 例如,假设我们要加密this is a computer cipher给定长度的文本5。这是一个潜在的输出(请注意:在下面的示例中,数字为1索引): t h i s i s a c o m p u t e r c i p h e r (without spaces of course, but added as clarification) qu5dt hprit k3iqb osyw2 jii2o m5uzs akiwb hwpc4 eoo3j muxer z4lpc 4lsuw 2tsmp …

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.