Questions tagged «number»

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

15
前x个素数中的加法素数
附加质数的定义: 其中恰好有2除数的数称为素数。 质数及其位数之和也是质数称为加数质数 任务: 给定一个整数x,计算第一个x素数中的所有加法素数,同时2考虑第一个素数和加法素数。数字以10为基数表示。 规则: 输出由第一个x素数中的所有加法素数组成 0 < x < 151,针对这一挑战,出于功能目的 由于加性质数均为整数,因此不允许使用小数(例如:您应输出2,而不是2.0),并且它们不得显示为小数。 例子: 10 -> 2 3 5 7 11 23 29 说明: 前10个素数是2 3 5 7 11 13 17 19 23 29,并且仅2 3 5 7 11 23 29具有它们的数位素数之和,分别是2,3,5,7,2,5,11,所以它们是加法素数 根据的说明example 1,其他测试用例可能是: 2 -> 2 3 25 -> 2 3 …

30
打印四边形
表示为的滴定a^^b重复进行幂运算。例如,2^^3is 2^2^2,即16。 给定两个数字a和b,请打印a^^b。 测试用例 1 2 -> 1 2 2 -> 4 5 2 -> 3125 3 3 -> 7625597484987 etc. 科学记数法是可以接受的。 请记住,这是code-golf,所以字节数最少的代码将获胜。
16 code-golf  math  number 

3
在尽可能短的时间内找到该数字难题的所有解决方案
历史 我的公司每周向公司内的每个人发送时事通讯。这些新闻通讯中包括一个谜语,并向公司中第一个向上一周的谜语发送电子邮件/提供解决方案的人大喊大叫。对于科技公司来说,这些谜语大多数都不是小事,而且平淡无奇,但是几个月前,有一个引起了我的注意。 原始谜语: 鉴于以下形状: 您具有从1到16的自然数。将它们全部适合此形状,以使所有连续的行和连续的列总计为29。 例如,以下是该难题的一种解决方案(这是我提交给时事通讯的“规范”解决方案): 但是,在解决此问题的过程中,我发现了一些相当有趣的信息: 解决方案远远不止一种。实际上,有9,368解决方案。 如果将规则集扩展为仅要求行和列彼此相等,而不必等于29,则会得到33,608个解决方案: 4,440个解决方案,总计27个。 7,400个解决方案,总计28个。 9,368个解决方案,总计29个。 6,096个解决方案,总计30个。 5,104个解决方案,总计31个。 1,200个解决方案,总计32个。 因此,我和我的同事们(尽管大多数情况下只是我的经理,因为他是我之外唯一拥有“通用”编程技能的人)开始了一个挑战,这个挑战持续了一个月的大部分时间-我们还有其他实际工作,我们必须承担的相关义务—尝试编写一个程序,以最快的方式找到每个解决方案。 原始统计 我编写的用于解决该问题的第一个程序只是反复检查随机解,并在找到解时停止运行。如果您已经对这个问题进行了数学分析,那么您可能已经知道这不应该起作用。但是以某种方式我很幸运,该程序只花了一分钟时间就找到了一个解决方案(我在上面发布了一个解决方案)。重复运行该程序通常要花费10到20分钟,因此显然这不是严格解决问题的方法。 我切换到了“递归解决方案”,该解决方案遍历了难题的每个可能排列,并通过消除未加总和而一次丢弃了很多解决方案。IE,如果我正在比较的第一行/列已经不相等,那么我可以立即停止检查该分支,因为知道拼图中没有其他排列会改变这一点。 使用这种算法,我获得了第一个“正确”的成功:该程序可以在大约5分钟内生成并吐出所有33,608个解决方案。 我的经理采用了另一种方法:根据我的工作,得知唯一可能的解决方案的总和为27、28、29、30、31或32,他编写了一个多线程解决方案,仅检查那些特定值的可能总和。他设法使程序仅在2分钟内运行。所以我又重复了一次。我对所有可能的3/4位和进行了哈希处理(在程序开始时;在总运行时中进行了计数),并使用行的“部分和”来基于先前完成的行查找剩余值,而不是测试所有剩余值,并将时间减少到72秒。然后,使用一些多线程逻辑,我将其缩短到40秒。我的经理将程序带回家,对程序的运行方式进行了一些优化,并将其降低到12秒。我对行和列的评估重新排序, 一个月后,我们中每个人获得程序最快的是我的经理0.15秒,我的0.33秒。最后,我声称我的程序更快,因为我经理的程序虽然找到了所有解决方案,但并未将它们打印到文本文件中。如果他在代码中添加了该逻辑,则通常需要花费0.4-0.5秒以上的时间。 我们既然允许我们内部的个人挑战生存,当然,问题依然存在:可这一计划进行得更快? 这就是我要对你们提出的挑战。 您的挑战 我们根据“ 29之和”规则放宽的参数改为“所有行/列的总和相等”,我也将为你们设置该规则。因此,面临的挑战是:编写一个程序,以在尽可能短的时间内找到(并打印)此难题的所有解决方案。我将为提交的解决方案设置一个上限:如果该程序在相对不错的计算机(小于8岁)上花费10秒钟以上,则可能太慢而无法计算。 另外,我还有一些难题的奖励: 您能否概括该解决方案,使其适用于任何16个数字集,而不仅是int[1,16]?时间分数将根据原始提示号集进行评估,但会通过此代码路径传递。(-10%) 您是否可以用能很好地处理和解决重复编号的方式编写代码?这并不像看起来那样简单!“视觉上相同”的解决方案在结果集中应该是唯一的。(-5%) 你能处理负数吗?(-5%) 您也可以尝试生成处理浮点数的解决方案,但是,如果完全失败,请不要感到震惊。如果您确实找到了一个可靠的解决方案,那可能值得大笔奖励! 出于所有目的和目的,“轮换”被视为唯一的解决方案。因此,只是一个不同解决方案的轮换解决方案将被视为自己的解决方案。 我在计算机上使用的IDE是Java和C ++。我可以接受其他语言的答案,但您可能还需要提供一个链接,以获取可以为您的代码轻松设置运行时环境的位置。

20
分解一个数字!
您的任务是使用以下格式分解数字。 这与基本转换类似,不同之处在于digits,您列出了values,而不是在基本列表中列出,这样列表就加到了输入上。 如果给定的基为n,则列表中的每个数字都必须采用的形式k*(n**m),其中0<=k<n和m在整个列表中都是唯一的。 眼镜 任何合理的输入/输出格式。您的程序/功能需要2个输入并输出一个列表。 输出列表可以是任何顺序。 0 可以排除或包含。 0允许领导。 允许内置。 测试用例 number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 计分 这是代码高尔夫球。以字节为单位的最短解决方案获胜。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

30
交替符号序列
介绍 对于每个非零整数,数字的符号可以是+或-。零本身是无符号的(+0与相同-0)。在下面的序列中,我们将在正号,零和负号之间交替。该序列以开头1,因此我们1用一个正号,零(这个数字很奇怪,但是我们将数字乘以0)和一个负号来写: 1, 0, -1 下一个数字是2,我们再次执行相同的操作: 2, 0, -2 最终的顺序是: 1, 0, -1, 2, 0, -2, 3, 0, -3, 4, 0, -4, 5, 0, -5, 6, 0, -6, 7, 0, -7, ... 或者更具可读性的形式: a(0) = 1 a(1) = 0 a(2) = -1 a(3) = 2 a(4) = 0 a(5) = …

10
列的块对角矩阵
灵感来自于Stack Overflow的此问题。 给定一个矩阵A,创建一个矩阵B,使的列A以块对角线的方式排列。例如,给定 1 2 3 4 5 6 输出将是 1 0 0 4 0 0 0 2 0 0 5 0 0 0 3 0 0 6 规则 输入和输出可以采用2D数组,嵌套数组或具有不同行和列分隔符的字符串的形式。 输入(matrix A)中的数字将为正整数。 一元格式是允许的,只要以某种合理的方式在输出中显示零即可。例如,可以使用引号将每个数字括起来显示上述结果: '1' '' '' '1111' '' '' '' '11' '' '' '11111' '' '' '' '111' '' '' …

13
获取最接近数字的值
在此代码中,您需要从列表中的另一个号码获得最接近的号码。 输出可能是最接近输入的数字。 例: value: (Input) 5 --- [1,2,3] --- 3 并且,该程序可能会使用负数。 例: value: (Input) 0 --- [-1,3,5] --- -1 value: (Input) 2 --- [1, 5, 3] --- 1 (Because it gives priority to lower numbers) 规则: 如前所述,它必须使用负数。 如果有两个答案(例如:0-[5,-5]),则程序将优先考虑最低的数字。(-5) 这是代码高尔夫球,所以最短的代码获胜!

21
数字顺序降序
介绍 例如,让我们以数字为准7。然后,我们将其复制并在它们之间放置7个空格。我们得到这个: 7_______7 之后,我们将减少数量,直到没有剩余空间为止。对于数字7,我们得到以下内容: 7_______7 6543210 然后,我们将它们两个合并,所以: 7_______7 6543210 becomes 765432107 N = 7时将输出。 看起来很简单,对吧?现在让我们取N = 12。我们再次在两个数字之间插入12个空格,从而得到: 12____________12 然后我们开始递减: 12____________12 111098765432 最终,这给了我们: 1211109876543212 如您所见,下降部分以2结尾,而不是 0结束。 任务 给定一个大于1的整数,输出降序序列,如上所示。 测试用例 Input Output 2 2102 3 32103 4 432104 5 5432105 6 65432106 7 765432107 8 8765432108 9 98765432109 10 10987654321010 11 111098765432111 …

30
过滤并添加
任务 任务很简单。给定一个包含数字(大写和小写字母)的非空字符串,输出剩余数字的总和。例如: a1wAD5qw45REs5Fw4eRQR33wqe4WE 过滤掉所有字母将导致: 1 5 45 5 4 33 4 这些数字的总和为1 + 5 + 45 + 5 + 4 + 33 + 4 = 97。因此输出将是97。 测试用例 a > 0 0 > 0 5 > 5 10 > 10 a0A > 0 1a1 > 2 11a1 > 12 4dasQWE65asAs5dAa5dWD > …

10
拆分,翻转和重组整数
背景 在数学上众所周知,整数可以与成对的整数一一对应。这样做有许多可能的方式,而且这种挑战,您将实现其中一个和它的逆运算。 任务 您的输入是一个正整数n > 0。已知存在唯一的非负整数,a, b ≥ 0例如。您的输出是正整数的“翻转版本” 。n == 2a * (2*b + 1)n2b * (2*a + 1) 您可以假定输入和输出适合您语言的标准无符号整数数据类型。 规则和计分 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 它们以格式给出in <-> out,因为要实现的功能是它自己的反函数:如果将输出反馈给它,则应该获得原始输入。 1 <-> 1 2 <-> 3 4 <-> 5 6 <-> 6 7 <-> 8 9 <-> 16 10 <-> 12 11 <-> …

9
带字符串的基数转换
介绍 过去,我们在这里遇到了一些基本的转换挑战,但是设计用来处理任意长度数字(即足够长以至于它们溢出整数数据类型的数字)的设计并不多,其中大多数感到有些不足。复杂。我很好奇这样的基础代码更改如何获得成功。 挑战 用您选择的语言编写一个程序或函数,该程序或函数可以将一个基数的字符串转换为另一基数的字符串。输入应该是要转换的数字(字符串),从基数(以10为基数),以基数(以10为基数)和字符集(字符串)。输出应为转换后的数字(字符串)。 一些进一步的细节和规则如下: 要转换的数字将是一个非负整数(因为-它.可能在字符集中)。输出也将如此。 前导零(字符集中的第一个字符)应被修剪。如果结果为零,则应保留一个零数字。 支持的最小基本范围是2到95,由可打印的ASCII字符组成。 要转换的数字的输入,字符集和输出必须全部为字符串数据类型。基数必须是以10为底的整数数据类型(或整数浮点数)。 输入数字字符串的长度可能非常大。很难量化一个合理的最小值,但是期望它能够处理至少1000个字符,并在像样的机器上在不到10秒的时间内完成100个字符的输入(对于这种问题非常慷慨,但是我不想速度成为重点)。 您不能使用内置的基准变更功能。 字符集输入可以采用任何排列方式,而不仅仅是典型的0-9a-z ...等。 假设将仅使用有效输入。不用担心错误处理。 获胜者将由符合条件的最短代码确定。至少会在7个基准10天之内,或者是否/是否有足够的提交内容,来选择它们。如果出现平局,则运行速度更快的代码将是赢家。如果在速度/性能上足够接近,则较早出现的答案为准。 例子 这是您的代码应能够处理的一些输入和输出示例: F("1010101", 2, 10, "0123456789") > 85 F("0001010101", 2, 10, "0123456789") > 85 F("85", 10, 2, "0123456789") > 1010101 F("1010101", 10, 2, "0123456789") > 11110110100110110101 F("bababab", 2, 10, "abcdefghij") > if F("10", 3, 2, …

5
查找XOR素数
在xnor提出的挑战中,我们被要求实现XOR乘法。在这一挑战中,目标是找到第一个nXOR素数。从以下定义可以看出,XOR素数与常规素数非常相似: 质数的定义:大于1的正数,除非将1与自身相乘,否则不能通过将两个数相乘而形成。 XOR质数的定义:大于1的正数,除非通过1与自身的XOR乘积,否则不能通过两个数的XOR乘积来形成。注意,XOR质数组成oeis序列A014580。 XOR乘法定义为不带进位的二进制长乘法。您可以在xnor的Challenge中找到有关XOR乘法的更多信息。 输入: 一个整数n。 输出: 第一个nXOR素数。 以下是500以下的XOR素数: 2 3 7 11 13 19 25 31 37 41 47 55 59 61 67 73 87 91 97 103 109 115 117 131 137 143 145 157 167 171 185 191 193 203 211 213 229 239 241 247 253 …

6
分形序列的收敛和
背景 甲分形序列是一个整数序列,其中可以除去的每一个整数的第一次出现,并用相同的序列之前结束。 这样一个非常简单的序列称为金伯林的释义。您从正自然数开始: 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 然后,您可以在空白处进行调整: 1, _, 2, _, 3, _, 4, _, 5, _, 6, _, 7, _, 8, _, 9, ... 然后重复使用序列本身(包括空白)填充空白: 1, 1, 2, _, 3, 2, 4, _, 5, 3, 6, _, 7, 4, 8, _, 9, …

6
在除数关系中找到最大匹配
您会得到一组正整数。您必须将它们成对布置,以便: 每对包含2个数字,其中一个是另一个的倍数。例如,8是4的倍数,而9是9的倍数。 如果在初始集中多次出现相同的数字,则可以成对使用多次。一个数字甚至可以与另一个相同数字出现 获得最大可能的对数。 输出必须是对数。最短的代码获胜。 样本数据 2,3,4,8,9,18 -> 3 7,14,28,42,56 -> 2 7,1,9,9,4,9,9,1,3,9,8,5 -> 6 8,88,888,8888,88888,888888 -> 3 2,6,7,17,16,35,15,9,83,7 -> 2

4
基本挑战
这项挑战的灵感来自以下Oliver Sacks的报价: “ 11岁时,我可以说'我是钠'(元素11),而现在79岁时,我是黄金。”-奥利弗·萨克斯(Oliver Sacks) 我希望您在字符串中找到数字并将其替换为相应元素的符号。(1是H,2是He,3是Li,等等。)有一些规则要遵循: 一位和两位数将正常替换为其相应的元素。忽略数字开头的0。如果数字中只有0,请忽略它。例如1 01 10 0 00变成H H Ne 0 00 超过2位数字将分成2组。奇数个数字的末尾应有额外的一位数字。例如0153 5301 153,HI IH PLi由于该规则,您只需要知道1到99之间的元素 无论数字周围有什么字符,逗号都应被视为相同,逗号和小数点都不是数字的一部分。P90X 42,800 3.14159会成为PThX Mo,Hg0 Li.SiPF 输入/输出(I / O)示例: I: 32289216 O: GeNiUS I: J08017 5811 O: JOHN CeNa I: M18227 0592tt10r O: MArTiN BUttNer I: De072816 O: DeNNiS I: D088r1907085 …

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.