Questions tagged «code-golf»

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

10
将Excel日期代码转换为“日期”
给定非负整数Excel样式的日期代码,以任何清楚地显示年,月和日的合理形式返回相应的“日期”。 您可能会认为微不足道。您是否注意到“吓care行情”?我使用这些是因为Excel有一些怪癖。Excel的计算与数字1天,1月1日日,1900,但仿佛1900有一个1月0日日和2月29 日,所以要非常小心地尝试所有的测试用例: Input → Output (example format) 0 → 1900-01-00 Note: NOT 1899-12-31 1 → 1900-01-01 2 → 1900-01-02 59 → 1900-02-28 60 → 1900-02-29 Note: NOT 1900-03-01 61 → 1900-03-01 100 → 1900-04-09 1000 → 1902-09-26 10000 → 1927-05-18 100000 → 2173-10-14

7
懒字问题
摘要 老师被告知要为学生准备单词问题。她得到了一系列的方程式,并告诉他们将其写为相应的单词问题。但是,她非常懒惰,因此没有投入太多的创造力。相反,她只是按字面意思写。例如,当她阅读时1+1,她写道one plus one,47 * 2会变成forty seven times two,然后56.2 / 7.4变成fifty six point two divided by seven point four。 编写一些代码来帮助这个懒惰的老师。 细节 数字可能包含小数点和负号。 数字应以小写形式书写。(即1,000,000,000是one billion) 数字最多可以达到999,999,999,999,999,999(nine hundred ninety nine quadrillion...nine hundred ninety nine)。 必须排除零组。例如,1,000,000是one million不是one million zero thousand zero hundred。 小数点后可以有任意多个数字。 小数点后的数字必须逐位列出。例如,12.34是twelve point three four不是twelve point thirty four。 两个数字始终由运算符分隔。 有效运算符为加号(+),减号(-),时间(*)和除以(/)。 没有括号。 …
15 code-golf  string 

9
隐藏建筑物
摩天大楼挑战赛的短版 任务 给定建筑物高度的数组和正整数k,找到高度的所有排列(无重复),以使k建筑物完全可见。 任何建筑物都会在其后隐藏所有较短或等高的建筑物。 输入和输出的任何格式均有效。 输入数组永远不会为空。 如果看不到那么多建筑物,请输出任何不能回答但没有错误的内容。 例子: (对于很长的输出,显示了输出长度,但是您的输出应该是所有可能的排列) input:[1,2,3,4,5],2 output: 50 input:[5,5,5,5,5,5,5,5],2 output: [] input:[1,2,2],2 output:[(1,2,2)] Seeing from the left, exactly 2 buildings are visible. input:[1,7,4],2 output:[(4, 7, 1), (1, 7, 4), (4, 1, 7)] input:[1,2,3,4,5,6,7,8,9],4 output:67284 input:[34,55,11,22],1 output:[(55, 34, 11, 22), (55, 22, 34, 11), (55, 34, 22, …

11
产生一些粗略的数字
背景 如果所有主要因子均严格超过,则数字n可描述为B-rough 。nB 挑战 给定两个正整数B和k,输出第一个k B-粗数。 例子 设f(B, k)一个函数,该函数返回包含第一个k B-粗数字的集合。 > f(1, 10) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 > f(2, 5) 1, 3, 5, 7, 9 > f(10, 14) 1, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59

8
这是什么客栈?
目标 鉴于即将到来的世界大赛,我需要一个程序来读取方块得分,并告诉我这是什么意思。这有点复杂,因为棒球使用奇怪的方法记录得分。他们只有在奔跑得分(并且仍在进行)或完成蝙蝠之前,才写下蝙蝠团队的得分。因此,记分板上的0总是表示击球完成。例如: Example A: Inning| 1| 2| 3| 4| 5| 6| 7| 8| 9| Them| 0| 0| 0| 0| 0| 2| | | | Us| 0| 0| 2| 0| 0| 0| | | | Example B: Inning| 1| 2| 3| 4| 5| 6| 7| 8| 9| Them| 0| 0| 0| …
15 code-golf 

15
输出2D阵列的逆时针向内螺旋
从这个 stackoverflow问题 给定大小为的2D数组,以逆时针方式输出值。输出必须从外部到内部开始,并且起始点始终为。M×NM×N M \times N (0,0)(0,0)(0,0) 给出的例子: ⎡⎣⎢⎢⎢15913261014371115481216⎤⎦⎥⎥⎥[12345678910111213141516] \begin{bmatrix} \color{blue}1&\color{red}2&\color{red}3&\color{red}4 \\ \color{red}5&6&7&\color{red}8 \\ \color{red}9&10&11&\color{red}{12} \\ \color{red}{13}&\color{red}{14}&\color{red}{15}&\color{red}{16}\end{bmatrix} 那么逆时针的边值是。1,5,9,13,14,15,16,12,8,4,3,21,5,9,13,14,15,16,12,8,4,3,2 1,5,9,13,14,15,16,12,8,4,3,2 现在,我们对内部值重复此过程。最终将得到如下矩阵 [610711][671011] \begin{bmatrix} \color{blue}6&\color{red}7 \\ \color{red}{10}&\color{red}{11} \end{bmatrix} 然后内部值为6,10,11,76,10,11,7 6,10,11,7 最终结果将是1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,71,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7 1,5,9,13,14,15,16,12,8,4,3,2,6,10,11,7 规则 假设非空输入 假设矩阵值为正整数 适用标准I / O方法 适用标准高尔夫球规则和获胜标准 一些测试用例 Input [ [1, 2, 3, 4, 5, 6, 7], [8, 9, 10,11,12,13,14], …
15 code-golf  matrix 

30
平方和差
前十个自然数的平方和为 12+22+⋯+102=38512+22+⋯+102=3851^2 + 2^2 + \dots + 10^2 = 385 前十个自然数之和的平方是 (1+2+...+10)2=552=3025(1+2+...+10)2=552=3025(1 + 2 + ... + 10)^2 = 55^2 = 3025 因此,前十个自然数的平方和与平方和之差为 3025−385=26403025−385=26403025 − 385 = 2640 对于给定的输入n,找到前n个自然数的平方和与和的平方之差。 测试用例 1 => 0 2 => 4 3 => 22 10 => 2640 24 => 85100 100 => 25164150 这项挑战最初是在欧拉6号项目上宣布的。 获奖标准 …
15 code-golf  math 

30
向上并向前迈向更大的荣耀!
可这一挑战作为(另一个)致敬斯坦·李,谁去世95岁。 斯坦·李(Stan Lee)给我们留下了无价的遗产和奇特的口号:Excelsior。因此,根据他所说的含义,这是一个小挑战: 最后,“ Excelsior”是什么意思?“向上并向前迈向更大的荣耀!”这就是我在发推文时希望您的一切!精益求精! 挑战 给定一系列非负整数,Excelsior!每当一个整数大于前一个整数时,输出一行。 规则 输入将是非负整数的数组。 输出将由带有单词的行Excelsior(大小写无关紧要)组成,后跟多达!当前行的长度(数量越来越大)。您还可以返回字符串数组。 输入和输出格式根据站点规则是灵活的,因此可以随时根据您的语言格式进行调整。您还可以在行末添加空格,如果需要,甚至可以在文本之后或之前添加额外的新行。 例子 Input Output ----------------------------------- [3,2,1,0,5] Excelsior! // Excelsior because 5 > 0 [1,2,3,4,5] Excelsior! // Excelsior because 2 > 1 Excelsior!! // Excelsior because 3 > 2 (run length: 2) Excelsior!!! // Excelsior because 4 > 3 (run length: …

9
交错,堆积,求和
受此堆栈溢出问题启发。 挑战 输入值 包含非负整数的正方形矩阵的数组。 输出量 根据输入矩阵构建的方阵如下。 令ñ× Nñ×ñN \times N为每个输入矩阵的大小,PPP为输入矩阵的数目。 为了清楚起见,请考虑以下示例输入矩阵(ñ= 2ñ=2N=2,P= 3P=3P=3): 3 5 4 10 6 8 12 11 2 0 9 1 从第一个输入矩阵开始。 将第二个输入矩阵N -1下移,N -1右移,以使其第二个输入矩阵的左上条目与前一个的右下条目重合。 想象一下第二个移位矩阵,就像它堆叠在第一个顶部一样。在重合条目中将两个值求和。写下其他值,并用填充其余条目,0以获得(2 牛− 1 )× (2 牛− 1 )(2ñ-1个)×(2ñ-1个)(2N-1)\times(2N-1)矩阵。使用示例输入,到目前为止的结果是 3 5 0 4 16 8 0 12 11 对于每个剩余的输入矩阵,请对其进行交错处理,以使其到目前为止的累计结果矩阵的左上角与右下角重合。在示例中,包括第三输入矩阵 3 5 0 …

16
UTF-8字节序列的长度
给定第一个字节,确定UTF-8字节序列的长度。下表显示了哪些范围映射到每个可能的长度: Range Length --------- ------ 0x00-0x7F 1 0xC2-0xDF 2 0xE0-0xEF 3 0xF0-0xF4 4 表中空白的注释:0x80-0xBF是连续字节,0xC0-0xC1将开始一个超长的无效序列,0xF5-0xFF将导致一个代码点超出Unicode最大值。 编写一个程序或函数,以UTF-8字节序列的第一个字节作为输入,然后输出或返回序列的长度。I / O是灵活的。例如,输入可以是数字,8位字符或一个字符的字符串。您可以假设第一个字节是有效序列的一部分,并且属于上述范围之一。 这是代码高尔夫。以字节为单位的最短答案将获胜。 测试用例 0x00 => 1 0x41 => 1 0x7F => 1 0xC2 => 2 0xDF => 2 0xE0 => 3 0xEF => 3 0xF0 => 4 0xF4 => 4

16
最高和弦
最高和弦 给定输入字符串,请返回其每个Unicode字符的总和最高的单词。 规则 输入应以空格分隔 每个单词的值基于单词的UTF-16代码中每个字符的总和 输出应该是具有最高值的第一个单词(如果有重复的总和) 例子 Input: "a b c d e" Output: "e" Input: "hello world" Output: "world" Input: "this is a test" Output: "test" Input: "àà as a test" Output: "àà" Input "α ää" Output: "α" Input: "🍬 隣隣隣" Output: "隣隣隣" Input: "💀 👻 🤡 🦇 🕷️ …

7
七段滚动
沙盒发布 介绍 信息面板无处不在。当技术变得更便宜时,纸质海报变成了发光的招牌,上面写着单词,而单词又出现在另一侧,如图所示: 当这些标志之一启动时,它通常开始为空,并且文本从右侧向左侧离开,移动直到消失。 它的功能是打开和关闭小灯泡(LED),以带给您运动的感觉。 如果我们只需要显示数字而不是文字,则可以使用如下所示的所谓的七段标记来简化海报的制作: 在这种情况下,每个数字仅由7个灯段的开/关组合表示,这些灯段可以代表所有数字: 我们问自己一个问题,就是要使这些海报之一通过一定数量的灯光变化(打开和关闭多少个)? 例如,要以三位数符号显示123(以所有LED熄灭开头),我们将有: 总共进行了42次灯光更改。 挑战 给定一个非负数和一个正号长度,计算灯光变化的次数。 规则 假设输入包含一个非负数(N> = 0)和一个正号长度(M> 0) 假设符号长度> =数字长度(M> =数字(N)) 测试用例 123, 3 => 42 45, 5 => 60 111, 3 => 12 98765, 10 => 220 0, 3 => 36
15 code-golf 

11
模拟NFA
阿非确定性有限自动机是一个有限状态机,其中一个元组被映射到多个状态。就是 我们用另一个函数Δ :Q × Σ → P(Q )代替DFA的常规δ :Q × Σ → Q转换函数。(state,symbol)(state,symbol)(state,symbol)δ:Q×Σ→Q δ:Q×Σ→Q \delta : Q \times \Sigma \to Q\ Δ:Q×Σ→P(Q)Δ:Q×Σ→P(Q)\Delta : Q \times \Sigma \to \mathcal{P}(Q) 如果您知道什么是NFA,则可能要跳过下一部分。 正式定义 NFA的唯一描述是 有限状态集QQQ 一组有限的符号ΣΣ\Sigma 跃迁函数Δ:Q×Σ→P(Q)Δ:Q×Σ→P(Q)\Delta : Q \times \Sigma \to \mathcal{P}(Q) 的初始状态q0∈Qq0∈Qq_0 \in Q 一组最终状态F⊆QF⊆QF \subseteq Q 该机在开出和读取符号的有限串w ^ ∈ Σ …

14
重复韵律并在元音上循环
元音押韵:苹果和香蕉 有一首传统的儿童歌曲,一遍又一遍地重复相同的文本,只有每次将每个元音都替换为随机的元音,但在当前节中保持不变。 挑战 目的是提出对输入文本执行这种转换的最短代码。 规则 您必须将韵母打印多次,因为其中有不同的元音。 每个打印件必须以换行符分隔(接受\n和的特定于平台的组合\r)。 为了进行迭代i,请用i原始文本中的第一个不同的元音替换每个元音。 输入文本是一系列可打印的ASCII字符(范围[32, 126]。 输入将不包含嵌入式换行符。 仅元音字符必须受到影响,其他元音必须完全作为输入输出。 只有元音字符才算:鼻元音,虽然听起来像元音(如法语“ Tintin”),但不能作为单个元音处理。 大小写对于输出很重要,但是是位置性的(用大写替换元音替换大写元音) 大写元音与小写元音没有区别(即a<=> A) 连续元音总是分开考虑的(即,Boat产生Boot和Baat) 由于字母y代表元音或辅音发音(如我们所说的英语),因此允许将其作为元音或辅音来处理,但是答案必须明确说明它们是否y作为元音处理。 例子: 你好,世界 Hello world! 给出: Helle werld! Hollo world! 摘自法文原始文本(翻译),以y元音形式处理: An elephant that was rambling all gently in the woods... 给出: An alaphant that was ramblang all gantla an tha waads... …
15 code-golf  string 

22
对2D数组中的行和列进行块排序
给定一个2D整数数组,让我们按块对它的行和列进行排序。这意味着您只需要对给定的行或列进行排序,而是将对其进行排序所需的转换应用于2D数组中的所有其他行或列。 规则 输入将是一个2D整数数组和一个1索引整数。如果数字为正,则此整数将表示要排序的行,如果数字为负(或相反,则为整数)将表示要排序的列。示例:给定4x3(行x列)数组,您可以使用-2参数或参数对第三行进行3。第二个参数永远不会为零,其绝对值也不会大于数组的相应维数。 输出还将是一个2D整数数组,并应用了所需的转换来对给定的行或列进行排序。另外,您也可以将阵列写入STDOUT。 输出数组将具有指定的行或列,以升序排列。请注意,当您需要连续交换两个数字时,将交换数字所在的整个列。当您需要在一列中交换两个数字时,数字所在的整行将被交换。 如果相同的数字在要排序的行/列中多次出现,则根据交换值的方式可能会有几种解决方案,只需对要交换的其余行/列进行相应处理。 例子 Positive indices for rows and negative indices for columns [5 8 7 6 [1 3 2 4 1 3 2 4 order by -3 (3rd column) --> 9 6 3 0 9 6 3 0] 5 8 7 6] [5 8 7 6 …

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.