Questions tagged «number»

旨在通过使用,操纵,接受输入或输出数值来解决此难题。

8
密数序列
OEIS:A167171 阿密号是一个数字,具有完全一样多素因子作为无素因数(包括1和本身作为除数)。等效地,它是素数或两个不同素数的乘积。前100个密集数字为: 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 29, 31, 33, 34, 35, 37, 38, 39, 41, 43, 46, 47, 51, 53, 55, 57, 58, 59, 61, 62, 65, 67, 69, 71, 73, 74, 77, 79, 82, 83, 85, 86, …

2
解释基普尔!
介绍 Kipple是Rune Berg于2003年3月发明的基于堆栈的深奥编程语言。 Kipple有27个堆栈,4个运算符和一个控制结构。 堆栈 堆栈被命名为a- z并包含32位带符号整数。还有一个特殊的堆栈,@使输出数字更加方便。当将数字压入时@,实际上将压入该数字的ASCII值。(例如,如果您将12推到@,它将推49,然后推50。@) i在执行程序之前,将输入压入输入堆栈。解释器将i在执行之前要求存储值。执行完成后,输出堆栈上的所有内容o都会弹出以ASCII字符形式输出。由于这是Kipple唯一的IO机制,因此无法与Kipple程序进行交互。 经营者 操作数可以是堆栈标识符或带符号的32位整数。 推送:>或< 语法:Operand>StackIndentifier或StackIndentifier<Operand Push运算符将操作数向左移并将其推入指定的堆栈。例如,12>a将值12推入stack a。a>b将从堆栈中弹出最高值a并将其推入堆栈b。弹出空堆栈总是返回0 a<b相当于b>a。a<b>c从弹出最高值,b并同时推入c和a。 加: + 句法: StackIndentifier+Operand Add运算符将堆栈上最顶层项目和操作数之和压入堆栈。如果操作数是堆栈,则从中弹出值。例如,如果堆栈的最高值为a1,a+2则将3压入堆栈。如果a为空,a+2则将2推入。如果堆叠的最值a和b是1和2,然后a+b将从栈中弹出的值2 b和3推入堆栈a。 减去: - 句法: StackIndentifier-Operand 减法运算符的工作方式与加法运算符完全相同,只是它减去而不是加法。 明确: ? 句法: StackIndentifier? 如果最上面的项目为0,则Clear运算符将清空堆栈。 解释器将忽略操作符旁边不存在的所有内容,因此以下程序将起作用:a+2 this will be ignored c<i。但是,添加注释的正确方法是使用#字符。#执行前,a 和行尾字符之间的所有内容都将被删除。ASCII字符#10在Kipple中定义为行尾。 操作数可以由两个运算符共享,例如a>b c>b c?可以写为a>b<c?。 该程序1>a<2 a+a将导致a包含值[1 4](从下到上),而不是[1 3]。对于-操作员也是如此。 控制结构 Kipple中只有一种控制结构:循环。 句法: (StackIndentifier code …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

3
自指代多项式
对于每个给定的度数n,都可以构造(至少一个)整数多项式p,使得p(k)(p对求值k)是x^k所有多项式中项的系数0 <= k <= n。为了使它们唯一,我们要求前导系数(的系数x^n)为正且最小。 这些多项式具有一些有趣的属性,您可以在线程中找到一些启发我进行此挑战的参考。您还可以在https://oeis.org/A103423中找到这些多项式 先验的意外属性之一是根的行为取决于n: 来源(通过/ u / zorngov和/ u / EpicSauceSc2) 任务 给定一个非负整数n输出,自相关积分多项式的度数n具有最小正超前系数。 细节 输出可以是任何人类可读的形式,可以是字符串x^2-x-1,也可以是系数列表[1,-1,-1]。(系数的顺序也可以相反,只需保持一致即可。) 前几个输出 n=0: 1 n=1: x n=2: x^2-x-1 n=3: 10*x^3-29*x^2-6*x+19 n=4: 57*x^4-325*x^3+287*x^2+423*x-19 n=5: 12813*x^5-120862*x^4+291323*x^3+44088*x^2-355855*x-227362

4
三个无法区分的骰子
给定三个骰子掷骰(1-6的整数值)(以便无法区分),将它们转换为两个具有相同分布的公平骰子的总和。 三对一的答案是将它们全部取模6。最终结果是一个完美的平坦分布,六个数字中的每个数字均具有相同的可能性(就像一个骰子一样)。 通过将它们全部取模为6,可以很容易地做到三对一。最终结果是一个完全平坦的分布,六个数字中的每个数字均具有相同的可能性(就像一个骰子一样)。您的挑战是三对二做同样的事情。 受到Standupmath的“三个难以区分的骰子之谜”的启发。还发布了后续的“解决方案”视频,但是争论一种或另一种方式的“优雅”有点主观。计数字符不是。:D 使用说明 编写一个程序或函数,该程序或函数接受三个排序的整数/数字1-6,并输出或返回单个整数2-12,这样,对于216种可能的输入,输出的分布为: 222222 333333333333 444444444444444444 555555555555555555555555 666666666666666666666666666666 777777777777777777777777777777777777 888888888888888888888888888888 999999999999999999999999 AAAAAAAAAAAAAAAAAA BBBBBBBBBBBB CCCCCC (我使用十六进制来保留单个字符;十进制输出是可以的) 因为骰子是无法区分的,所以它们没有内在的顺序,因此没有排序的输入。您不能简单地“丢掉第三个”,因为那样会模棱两可。 细节 分数是程序的长度(以字节为单位) 该程序可以是一个以某种方式调用的函数,也可以是从stdin读取的可执行脚本,也可以是任何方便的方法。 不会通过从其他来源获取熵来“重新滚动” 示例(和测试) 无需进行任何形式的概率测试,就很容易探究所有三个骰子的216(6³)个情况,并断言您的函数将每个值返回应有的次数。它将使用相同的参数进行调用(例如,假定case 1, 2, 3和3, 2, 1...无法区分并且(任意)转换为1, 2, 3)。 下面的Python中提供了示例答案(极端暴力且效率低下)和测试套件。希望测试位足够清晰,可以移植到您选择的语言,尽管执行stdin / stdout会有所不同。测试代码仅用于测试,不会打分(尽管如果您想为您的语言或I / O方法的其他用户提供它,可能会很有用)。 # 6x6 lists of numbers with digits sorted LUT = [ [[124], [133, …
12 code-golf  number 

1
这个单词有多少个字母?
受项目Euler#17的启发,这是您的挑战。编写一个完整的程序或函数,以数字作为输入,然后打印或返回用英语计算该数字(包括该数字在内)需要多少个字母(从一个开始)。您不能包含空格,逗号或连字符,但应包含单词and。例如。342拼写为:Three Hundred and Forty-Two。这是23个字母长的字母。 您的输入将是一个正整数。您不必处理无效的输入。不允许将数字转换为英语的内置程序或库。 这是有关如何拼写数字的所有规则。(注意:我意识到有些人对数字的拼写使用了不同的规则。这只是本次挑战的官方规则) 1至20 一,二,三,四,五,六,七,八,九,十,十一,十二,十三,十四,十五,十六,十七,十八,十九,二十 21至99 加入这些: 二十,三十,四十,五十,六十,七十,八十,九十 这些: -一,-二,-三,-四,-五,-六,-七,-八,-九, 请注意,四个有一个u,但四十个没有! 例子: 53: Fifty-three 60: sixty 72: seventy-two 99: ninety-nine 100至999 写出几百个(一百个,两百个,三百个,等等),一个“ 和 ”,以及上面其余的数字。该和不计入您的来信得分。 例子: 101: One hundred and one 116: One hundred and sixteen 144: One hundred and forty-four 212: Two hundred and twelve 621: Six …
12 code-golf  math  number 

6
二进制搜索的步骤数
给定正整数输入,输出通过从1开始的二进制搜索找到输入所需的步数。 我们正在模拟对作为输入的整数的二进制搜索,其中模拟的搜索者可以反复猜测一个整数,并告知该整数是太高,太低还是正确。查找整数的策略如下: 令n为我们要查找的输入整数。 从1的猜测开始。(对于每个猜测,请增加步数(无论是否正确),如果猜测正确,则立即停止并输出总步数。) 反复将猜测加倍,直到猜测大于n(目标数字)。(或者,如果它是正确的,但是上面已经提到的我们的正确猜测规则已经涵盖了这一点。) 现在,设置大于n的2的幂的上限(即,刚猜到的数字),并在其正下方设置2的幂的下限。 反复猜测上限和下限的平均值(四舍五入)。如果它太高,则将其设置为上限。如果它太低,则将其设置为下限。此过程可确保最终导致正确的猜测。 这是一个示例,输入n = 21: 1 -> 2 -> 4 -> 8 -> 16 -> 32 -> 24 -> 20 -> 22 -> 21 \__________________________/ repeated doubling \________________________/ repeated averaging 由于这是code-golf,因此以字节为单位的最短代码将获胜。 以下是从n = 1到n = 100的所有输出: 1 2 4 3 6 5 6 4 8 …

4
帮助重新计算您的代表!
几个月前,我们在meta上进行了讨论,讨论如何提高因问题投票而获得的声誉。这是我们目前的投票信誉系统的基础:1 问题投票U值得5个声望。 回答投票u值得10个声誉。 问题或答案不满意d的人值得-2声望。 对于新系统,已经有许多不同的建议,但是当前最受欢迎的与上面的相同,但是问题投票的比例扩大到+10个代表。这项挑战是要计算出安装该系统后您将获得多少代表。 让我们来看一个例子。如果投票活动为UUUUuuuuUUUUUduuudUU,则在当前系统下,您的收入为121: U x 4 x 5 = 20 = 20 u x 4 x 10 = 40 = 60 U x 5 x 5 = 25 = 85 d x 1 x -2 = -2 = 83 u x 3 x 10 = 30 = …

4
所有适合字符串的数字
编写一个使用正整数N的程序或函数。输出所有可以使用数字(),小数点()和负号()精确写成N个字符的十进制数的列表。0123456789.- 例如,一些数字,这将是在N = 4输出列表是1337,3.14,.999,-789,-2.7,和-.09。 数字应以正常方式书写,但应尽可能短。这表示: 如果数字不是整数,则仅应包括小数点。 例如45.0,45.应该写成普通的45 -45.00 应该写成 -45 小数点左边不应有前导零。 03并003应为书面3,但30并300都很好,因为它们是 0.3并且00.3应该写成刚.3 -03 应该写成 -3 -0.3 应该写成 -.3 小数点右边不应有尾随零 .50并且.500应写为.5 900.090 应该写成 900.09 最后两个规则的例外是零本身,应始终将其写为plain0。 +请勿使用正号(),因为它们会不必要地加长数字。 另请注意,负号(-)不应用作减号。它只能作为小于零的数字的第一个字符出现。 格式化 数字输出列表的顺序无关紧要。它可以是上升,下降或完全混合。仅存在所有可以用N个字符写入的不同数字的问题。 列表可以使用空格,换行符,逗号或数字之间的其他某种形式的合理格式设置,只要条件保持一致即可。前括号和后括号(或类似的括号)都可以,但数字引号之类的东西却不是。(即,不要在输出中明显混淆字符串和整数/浮点数。) 例如,当N = 1时,一些有效输出将是: 0 1 2 3 4 5 6 7 8 9 [1, 2, 3, 4, 5, 6, 7, …

10
9忍者之死
受到聊天中此对话的启发。 您在此挑战中的目标是模仿忍者并计算他留下的死亡人数。 眼镜 您的忍者开始时还有9人死亡。他还获得了不可或缺的开始健康状况作为输入。 然后,他将改变自己健康状况的事件清单作为输入。这些可以是负整数,正整数或零整数。 在任何时候,如果他的健康状况达到或低于零,他就会丧命,并且健康状况会恢复到最初的健康状况。 您的程序应报告他留下的死亡人数。如果他的剩余零个或更少,则应dead改为输出。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 3, [] -> 9 100, [-20, 5, -50, 15, -30, -30, 10] -> 8 10, [-10, -10, -10, -10] -> 5 10, [-10, -10, -10, -10, -10, -10, -10, -10, -10] -> dead 0, [] -> dead 0, [1] -> dead …

22
10 9 8 7 6 5 4 3 2 1…打印2016
为了解决我在Puzzling遇到的挑战,您的目标是输出2016。 规则: 您必须10 9 8 7 6 5 4 3 2 1按该顺序包括数字。它们可以用作单独的整数,也可以串联在一起(例如1098),但是它们10不能分隔为1和0-数字之间不能存在任何字符。请注意,在某些语言中,10可能实际上并不表示整数文字10,这是可以接受的。 您的代码不得包含任何其他数字或预定义的数字变量或常量(因此T,不允许使用Pyth,因为它是数字常量)。 您必须使用数字进行计算 2016。2016不允许简单地输出而不对所需的数字执行任何操作(例如,通过解码仅包含字母字符的编码字符串)。也不允许分段输出2016(例如20,16则为);您必须具有由数值组成的单个输出2016。 字节最少的有效答案将获胜。

1
星期一迷你高尔夫7:简化成分测量
星期一迷你高尔夫:每周一发布(希望!)一系列简短的代码高尔夫挑战赛。 对不起,来晚了;通过写出与之重复的不同想法,我意识到了90%的方法。 我的家人很大,所以我们吃很多食物。我们通常需要加倍,加倍甚至加倍的食谱来制作足够的食物!但是,将测量值相乘可能会很痛苦,因此,有一个程序可以为我们做到这一点很高兴。 挑战 您面临的挑战是创建一个程序或函数,该程序将数字N和字母L作为度量值,并返回相同的度量值,并尽可能简化。这是必需的度量单位(像我的家人一样,都是美国人)及其对应的字母: 1 cup (c) = 16 tablespoons (T) = 48 teaspoons (t) 1 pound (l) = 16 ounces (o) 1 gallon (g) = 4 quarts (q) = 8 pints (p) = 128 fluid ounces (f) “尽可能简化”是指: 使用最大的测量单位。每个单元的余数可以为1 / 4、1 / 3、1 / 2、2 / 3或3/4。 如有必要,将结果转换为带分数。 …

14
复合数字序列
复合数字序列 灵感来自这个问题 给定正整数n,您的代码必须输出前n个复合数字。 输入输出 您可以编写程序或函数。输入通过STDIN或函数自变量,输出到STDOUT或函数返回值。 输出可以是列表,数组或字符串。 例子 0 -> 1 -> 4 2 -> 4, 6 3 -> 4, 6, 8 13 -> 4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22 规则 与往常一样,不允许出现标准漏洞。 不允许生成素数或合成数的内置函数。 不允许与质数或合成数相关的内建函数。

2
整理清单
您应该编写一个程序或函数,该程序或函数将非负整数k和排序后的整数列表L作为输入,并输出或返回平滑列表M。 ML通过在k保持列表排序的同时最多插入整数元素来从升序列表创建。插入的整数应该以最大前向差异M尽可能小的方式选择。我们将这个最小值称为“平滑度”。 该列表的正向差异-1 3 8 11 15是4 5 3 4与最大正向差别5。 通过2插入,2 10 15is 的平滑度4和可能的输出存在2 6 10 11 15正向差异4 4 1 4。 输入值 一个非负整数k。 L包含至少2个元素的升序整数列表。 输出量 升序整数列表M。 如果存在多个正确答案,则输出恰好其中一个(任何一个都足够)。 您的解决方案必须在一分钟之内在我的计算机上解决任何示例测试用例(我将仅测试关闭的用例。我的PC低于平均水平。)。 例子 输入(k,L)=>可能的输出以及括号中的最大前向差(不属于输出) 0, 10 20 => 10 20 (10) 2, 1 10 => 1 4 7 10 (3) 2, 2 10 15 …

25
每日#2随机高尔夫:来自正态分布的数字
关于系列 首先,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它,而无需担心系列赛。但是,在所有挑战中都有排行榜。您可以在第一篇文章中找到排行榜以及有关该系列的更多信息。 尽管我对该系列有很多想法,但是未来的挑战还没有定下来。如果您有任何建议,请在相关的沙箱帖子上让我知道。 漏洞2:来自正态分布的数字 我不敢相信这还没有完成!您将根据正态分布生成随机数。一些规则(大多数提交可能会自动覆盖其中的大多数规则,但其中一些规则已经到位,以确保多种语言之间的结果一致): 您应该将两个非负整数用作输入:种子S和N要返回的数字量。输出应该是N从均值0和方差1的正态分布中得出的浮点数列表。只要您提交的文件具有相同的种子,S它就会产生相同的编号。特别地,如果它被称为一次与次,用中,第一两个输出中的条目应该是相同的。另外,至少2 16个不同的值应产生不同的序列。(S, N1)(S, N2)min(N1, N2)S 您可以使用任何记录在案的内置随机数生成器,从(近似)均匀分布中提取数字,前提是您可以S继续使用它,并且它支持至少2 16种不同的种子。如果这样做,RNG应该能够为您从中请求的任何给定数字返回至少2 20个不同的值。 如果您的可用统一的RNG有一个较小的范围内,是不是seedable,或支持太少种子,您必须先建立一个统一的RNG具有足够大的范围上的顶部内置一个或您必须实现自己的合适的RNG使用种子。此页面可能对此有所帮助。 如果您没有实现生成正态分布的既定算法,请提供正确性证明。无论哪种情况,您选择的算法都必须产生理论上精确的正态分布(除非存在基础PRNG或有限精度数据类型的限制)。 您的实现应使用并返回浮点数(至少32位宽)或定点数(至少24位宽),并且所有算术运算都应使用所选类型的全部宽度。 您不得使用任何与正态分布或高斯积分直接相关的内置函数,例如误差函数或其反函数。 您可以编写完整的程序或函数,并通过STDIN,命令行参数,函数参数或提示接受输入,并通过返回值或通过打印到STDOUT(或最接近的替代方法)产生输出。 S并且N将是非负整数,每个整数均小于2 20。输出可以采用任何方便,明确的列表或字符串格式。 这是代码高尔夫球,因此最短的提交(以字节为单位)获胜。当然,每位用户最短的提交时间也将进入该系列的整体排行榜。 排行榜 该系列的第一篇文章将产生一个排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头每个答案: # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes (目前未显示该语言,但是该代码段确实需要并对其进行解析,并且将来我可能会添加一个语言排行榜。)

9
配对高尔夫双素数和Collat​​z序列
这是受到恢复变异的源代码问题启发的一种新挑战。 您应该用相同的语言编写两个程序或函数。第一个应解决任务1,第二个应解决任务2。 您的分数将是较长程序与两个程序源代码之间的Levenshtein距离的总和。分数越低越好,因此您应尝试使两个解决方案相似,同时保持程序长度短。 任务1 您将得到一个正整数N,你应该输出在Collat​​z序列的N用空格或换行分隔。允许使用尾随分隔符。 Collat​​z序列的第一个元素是N。其余元素基于其后继:一个i − 1一个一世-1个a_{i-1} 一个一世= { 一i − 123 个i − 1+ 1 如果 一个i − 1 甚至 如果 一个i − 1 很奇怪一个一世={一个一世-1个2 如果 一个一世-1个 甚至3一个一世-1个+1个 如果 一个一世-1个 很奇怪 a_i = \begin{cases} \frac{a_{i-1}}{2} & \text{ if } a_{i-1} \text{ is even} \\ 3a_{i-1} + 1 & …

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.