Questions tagged «code-golf»

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

13
数字积
对于给定的正整数N,编写一个完整的程序以查找最小自然数M,以使M的数字乘积等于N。N小于1,000,000,000。如果不存在M,则打印-1。在任何情况下,您的代码都不应超过10秒。 Sample Inputs 1 3 15 10 123456789 32 432 1296 Sample Outputs 1 3 35 25 -1 48 689 2899
10 code-golf  math 

4
多项式长除法
实现多项式长除法,该算法将两个多项式相除并获得商和余数: (12x ^ 3-5x ^ 2 + 3x-1)/(x ^ 2-5)= 12x-5 R 63x-26 在程序中,您将多项式表示为数组,常数项位于尾部。例如,x ^ 5-3x ^ 4 + 2x ^ 2-x +1将变为[1,-3,0,2,-1,1]。 您将要编写的长除法函数将返回两个值:商和余数。您不需要处理数值不精确和算术错误。不要使用数学库来完成工作,但是,您可以使函数能够处理符号值。最短的代码获胜。 例: div([12, -5, 3, -1], [1, 0, -5]) == ([12, -5], [63, -26])

13
画一个BCD二进制时钟
用ASCII 创建一个BCD 二进制时钟。如所暗示的,它将以六点点显示时间: (来源:Wikimedia Commons) 每列都是二进制编码的数字,从左到右读取小时,分钟和秒。小时以24小时格式给出。 显示时间是从命令行或从stdin(以更合适的为准)中读取的。如果为空,则应使用当前时间。 这里的输出大小受到一些限制,我们只能容纳两行文本。因此,您需要将点仅放入两行。字符.,:并'在方便的来到这里。 输入值 以ISO-8601格式显示的时间,即HH:MM:SS无小数秒。强制性的24小时制。输入可以为空,在这种情况下将使用当前时间。 输出量 上图的两行代表BCD二进制时钟。每行正好是六个字符长,并且只能使用空格,句点,冒号和撇号。 优胜者 以字节数为单位的最短代码获胜。在平局中,解决方案取得了第一个胜利。 样品输入1 (空) 样品输出1 . ''. :: 样品输入2 17:59:20 样品输出2 ..' .:..' 样品输入3 01:08:01 样品输出3 ' . .

20
计算获得抛硬币一半头的概率。
编写一个程序,给定标准输入的一个小的正偶数,它计算出翻转多个硬币将导致正面数目减少一半的概率。 例如,给定2个硬币,可能的结果是: HH HT TH TT 其中H和T是头和尾。有2个结果(HT和TH)的正面数是硬币数量的一半。共有4个结果,因此概率为2/4 = 0.5。 这比看起来简单。 测试用例: 2 -> 0.5 4 -> 0.375 6 -> 0.3125 8 -> 0.2734375

6
制定变更[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 2年前关闭。 您正在编写一个自动收银机的程序。用户需要使用最少数量的硬币进行找零。编写一个程序,该程序需要一个金额(例如1.53美元)并给出美国面额的找零-在这种情况下:1 x 1美元纸币,1 x 50美分和3 x 1美分。最短的节目是获胜者。支持其他货币(即英国面额)和非正常货币(1、2、3美分?)的奖励积分 您有以下这些美国面额:1美分,5美分,10美分,25美分,50美分,1美元(纸币或硬币),2美元,5美元,10美元。 您有以下这些英国面额:1便士,2便士,5便士,10便士,20便士,50便士,1英镑,2英镑,5英镑(纸币或硬币),10英镑。
10 code-golf 

4
字微调拼图
这是一个难题。 您的程序应在标准输入中接受两个单词。 第一个词是起始词。第二个单词是结束单词。 从开始的单词开始,您必须到达结束的单词,一次只能更改/添加/删除一个字母。每次修改后,它必须形成一个新的有效词。添加的字母被添加到开头或结尾。您可以从任何位置删除字母(但单词长度不能超过三个字母)。注意:您不能重新排列字母以形成单词。 程序的输出是从起始单词到结束单词的单词序列。 例: Input: Post Shot Output: Post cost coat goat got hot shot 优胜者: 该程序必须在合理的时间内(少于10秒)运行。 可以生成最短输出序列到奖赏词的程序。 Zink->硅 如果一个以上的程序获得最短的序列,则最短的程序以char为单位(忽略空白)。 如果我们仍然有多个计划提交日期/时间,则应使用。 笔记: 大写不相关。 构建字典的代码不计入代码成本。 奖励词和顺序将从以下网址生成:http : //dl.packetstormsecurity.net/Crackers/wordlists/dictionaries/websters-dictionary.gz

7
大约完美的五分之一
从1-TET开始,给出均等的气质,这些气质越来越接近完美的第五(正比3/2)。(OEIS序列A060528) 序列的正式描述,从OEIS复制: 一系列相等的气质(八度的等分度),其最接近音阶的步阶越来越接近于两个音乐和声调的比率:完美的4th,4/3和完美的5th,3/2。 请注意,通过对称,完美的第四位无关紧要。 假设我们知道3在序列中。3-TET中的频率为: 2^0, 2^⅓, 2^⅔ 2^⅔的最接近对数近似在哪里3/2? 顺序是4吗?4-TET中的频率为: 2^0, 2^¼, 2^½, 2^¾ 2^½的最接近位置在哪里3/2?这并不好于2^⅔,因此4不在序列中。 通过类似的方法,我们确认序列中有5,依此类推。 当给定整数n作为输入时,输出必须按顺序是序列的前N个数字。例如,当时n = 7,输出应为: 1 2 3 5 7 12 29 xnor的序列描述 无理常数可以通过有理分数序列来近似日志2(3 )≈ 1.5849625007211563 ...log2⁡(3)≈1.5849625007211563… \log_2(3) \approx 1.5849625007211563\dots 21个,32,53,85,117,1912,4629, …21,32,53,85,117,1912,4629,… \frac{2}{1}, \frac{3}{2}, \frac{5}{3}, \frac{8}{5}, \frac{11}{7}, \frac{19}{12}, \frac{46}{29}, \dots 如果它是绝对距离新的最接近的分数,则该分数包含在序列中,也就是说,比分母较小或相等的任何其他分数更近。∣∣pq-日志2(3) ∣∣|pq−log2⁡(3) | \left| \frac{p}{q} - …

2
飞机爆炸
该吹胀是代数几何中的有力工具。它可以去除奇点从代数集中同时保留其其余结构。 如果您对这些都不熟悉,请不要担心,实际的计算并不难理解(请参阅下文)。 下面我们考虑爆炸了点(0,0)(0,0)(0,0)2D中的代数曲线 二维的代数曲线由两个变量的多项式的零位给出(例如p(x,y)=x2+y2−1p(x,y)=x2+y2−1p(x,y) = x^2 + y^2 - 1 对于单位圆,或者 p(x,y)=y−x2p(x,y)=y−x2p(x,y) = y-x^2抛物线)。那条曲线的爆炸(在(0,0)(0,0)(0,0))由两个多项式给出 r,sr,sr,s如下定义。都rrr 和 sss 确实描述 ppp 具有(可能)的奇点 (0,0)(0,0)(0,0) 删除。 挑战 给定一些多项式 ppp, 找 rrr 和 sss 如下定义。 定义 首先请注意,我在这里所说的一切都是简化的,并不完全符合实际定义。 给定多项式 ppp 在两个变量中 x,yx,yx,y该爆破是由两个多项式给出r,sr,sr,s 再次在两个变量中每个。 要得到 rrr 我们首先定义 R(x,v):=p(x,vx)R(x,v):=p(x,vx)R(x,v) := p(x,vx)。然后R(x,v)R(x,v)R(x,v) 大概是 xxx,即 R(x,v)=xn⋅r(x,v)R(x,v)=xn⋅r(x,v)R(x,v) = x^n \cdot r(x,v) …

4
权衡你的话!
挑战 给定两个字符串,每个字符串的长度最多为30个,由可打印的ASCII字符(代码)组成,以最小的代码字节数将它们放在天平上!这包括以下步骤:[ 32 ,126 ][32,126][32, 126] 计算并比较琴弦的重量 选择适当倾斜的ASCII艺术比例 将两根弦放在秤上 字符串可以作为数组,两个参数或任何其他合理的方法传递。 的一个字符串的重量被定义为的该字符串的字符,其中权重的总和: 空格的权重为0() 小写字母的权重为2(abcdefghijklmnopqrstuvwxyz) 大写字母的权重为4(ABCDEFGHIJKLMNOPQRSTUVWXYZ) 所有其他符号的权重为3(!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~) 秤看起来像这样: 。_ | _- * / \ |-* / \ _- * | / \ _- * | / \ / \ | * ------ * / \ | / \ | / \ | …

16
MQTT订阅主题匹配
背景 MQTT(消息队列遥测传输)是一种基于ISO标准基于发布-订阅的消息传递协议(Wikipedia)。 每条消息都有一个主题,例如以下示例: myhome/groundfloor/livingroom/temperature USA/California/San Francisco/Silicon Valley 5ff4a2ce-e485-40f4-826c-b1a5d81be9b6/status Germany/Bavaria/car/2382340923453/latitude MQTT客户端可以使用通配符订阅消息主题: 单层: + 所有级别开始: # 例如,订阅myhome/groundfloor/+/temperature将产生以下结果(不符合项以粗体显示): ✅myhome /地面/客厅/温度 ✅myhome /地面/厨房/温度 ❌myhome / 地面 /客厅/温度 / 亮度 ❌myhome / 第一层 /客厅/温度 ❌ 车库 /地面/ 冰箱 /温度 订阅+/groundfloor/#将产生以下结果: ✅myhome /地面/客厅/温度 ✅myhome /地面/厨房/亮度 ✅车库/地面/冰箱/温度/更多/特定的/领域 / myhome / 第一层 /客厅/温度 ❌myhome / 地下室 /角/温度 更多信息在这里。 …

30
谈话翻译
“ Talk”是基于baroquified的基于累加器的语言,是为响应Dennis 在talk.tryitonline.net上的报价而创建的。 Waiting for someone to create an esolang called talk. 。“对话”语言具有4个命令: 00 如果累加器为0,则将累加器设置为0。 01 如果累加器为0,则将累加器设置为1。 10 如果累加器为1,则将累加器设置为0。 11 如果累加器为1,则将累加器设置为1。 输入: 根据我们的标准I / O规则,可以通过任何可接受的输入方法进行输入。 有两个输入,初始累加器值和程序。您可以根据需要将这两个输入合并为一个输入,或将输入拆分为有效命令(例如,将它们作为列表;例如[00, 01, 00])。 输出: 在命令执行结束时,累加器将隐式输出。 规则: 输入可以是单个字符串或字符列表。 因为这是 代码高尔夫球,最短答案(以字节为单位)获胜。 我们采用数字或字符串/字符。 测试用例: 0 0001111101 -> 1 0 000100 -> 1 0 11001000 -> 0 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 …

17
字母数字线和曲线计数
给定输入字符串,编写一个程序,输出该程序具有的线和曲线的总数。 挑战 从STDIN或任何其他输入法获取输入。 根据代码段中的下表,按此顺序STDOUT将包含在字符串中的直线和曲线的总数输出到或任何其他输出方法。 任何非字母数字字符都应忽略。 禁止出现标准漏洞。 这是 代码高尔夫球,因此最短的代码获胜。 澄清说明 线条和曲线由Stackexchange上使用的字体确定code blocks。 圆(如O, o, 0)和点(i, j)分别被视为1条曲线。 输入可以是字符串,字符列表,字符流,字节码等。 输出可以是一个整数数组,整数,逗号分隔的字符串等的元组的两个数字必须是分开的,所以104是无效的,但是10,4,10 4,10\n4,[10,4],(10, 4),等等是。 标题和尾随空白完全可以接受。 样本输入和输出 # Format: str -> line, curve hi -> 4, 2 HELLO WORLD -> 20, 4 l33+ 5pEak -> 13, 8 +=-_!...?~`g@#$%^ -> 1, 2 9001 -> 5, 3 O …

4
羽毛球服务的相关部分
介绍: 我看到现在只有另一个与羽毛球有关的挑战。自从我自己打羽毛球以来(至今已有13年),我认为自己会增加一些与羽毛球有关的挑战。这里是第二个(第一个可以在这里找到): 挑战: 有关羽毛球的一些规则适用: 发球总是在对角线上进行。 您必须始终在平行且最接近网络的线之后进行服务。 根据您是单人(1比1)还是双/混合(2比2),允许您服务的区域会有所不同。 对于单身人士(1对1),下图中的蓝色区域是允许您用餐的地方。因此,这包括背面的零件,但不包括侧面的零件。 对于双打/混音(2对2),下图中的绿色区域是允许您进行服务器存储的地方。因此,这不包括背面的部分,而是包括侧面的部分。 放送食物时,您可能不会站在排队上。但是,如果航天飞机降落在一条线上,航天飞机将仍然在内部。 这里是羽毛球场的布局: 挑战规则: 输入: 您将获得两个输入: 用来表明我们正在演奏单曲还是双曲/混音的东西(即布尔值) 用来指示您要投放的是哪个街区的内容(即[1,2,3,4]或['A','B','C','D']如上图所示)。 输出: 仅当前服务的相关行(包括网络),包括F表示您从哪里服务的行,以及多个T表示您将潜在服务的行。 尽管实际上您可以在指定区域内的任何地方服务,但我们假设将要服务的人将始终站在服务区域的角落,靠近网络的中间,这是您要放置的地方的F。它们将服务到它们必须服务的区域的四个角落中的任何一个,这就是您放置Ts的地方。 作为ASCII艺术,整个羽毛球字段如下(已添加数字,因此您不必自己计算它们): 2 15 15 2 +--+---------------+---------------+--+ | | | | | 1 +--+---------------+---------------+--+ | | | | | | | | | | | | | | | | | | …

28
字符串到位转换
任务 给定一个或多个ASCII字符的输入字符串,其代码点在0到128之间(不包括),请执行以下操作: 将每个字符转换为其7位ASCII码(如果ASCII码少于7位,则将前导零位放入) 连接所有位(这导致7*n位n是字符数) 对于此位流中的每一位,如果它与前一位不同,则打印1,否则打印0。第一个输出位始终为1。 例 输入: Hi 输出: 11011001011101 说明: 字符串“ Hi”具有ASCII码 72 105 在位是: 1001000 1101001 过渡位指示器: 11011001011101 这是代码高尔夫。最低字节数获胜。 测试用例 测试用例1: Hello World! 110110010101110011010101101010110001110000111110000110000001011101101010101100110001 测试案例2: %% COMMENT %% 1110111111011111100001100010010100001010110101011010011101010011111110011000001101111110111 测试案例3(归Luis Mendo所有): ## 11100101110010 恭喜路易斯·门多(Luis Mendo)提供了9个字节的MATL最短解决方案!

14
数组开始于
您的任务是获取一个由数字和实数组成的数组,然后返回数组中该点的值。数组开始于ππ\pi 并计入 ππ\pi间隔。问题是,实际上我们将在给定“索引”的元素之间进行插值。举个例子: Index: 1π 2π 3π 4π 5π 6π Array: [ 1.1, 1.3, 6.9, 4.2, 1.3, 3.7 ] 因为它是 ππ\pi,我们必须执行强制三角法,因此我们将通过以下公式使用余弦插值: cos(imodπ)+12∗(α−β)+βcos⁡(imodπ)+12∗(α−β)+β{\cos(i \mod \pi) + 1 \over 2} * (\alpha - \beta) + \beta 哪里: iii是输入“索引” αα\alpha是紧接在“索引”之前的元素的值 ββ\beta是紧接在“索引”之后的元素的值 coscos\cos以弧度表示的角度 例 给定[1.3,3.7,6.9],5.3: 索引5.3在和,因此将使用1.3 和3.7 。将其放入公式中,我们得到:1π1π1\pi2π2π2\pibeforeafter cos(5.3modπ)+12* (1.3 - 3.7 )+3.7cos⁡(5.3modπ)+1个2∗(1.3-3.7)+3.7{\cos(5.3 \mod …
10 code-golf  array 

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.