Questions tagged «number»

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

30
我的号码多久?
挑战 给定一个整数,Q范围为-(2^100) ≤ Q ≤ 2^100,输出该数字的位数(以10为底)。 规则 是的,您可以将数字作为字符串并找到其长度。 允许所有数学函数。 您可以使用任何底数作为输入,但是输出必须是以10为底的数字的长度。 不要将负号计为负数。该数字永远不会有小数点。 零可以是一位或零位。 假设输入将始终是有效整数。 例子 Input > Output -45 > 2 12548026 > 8 33107638153846291829 > 20 -20000 > 5 0 > 1 or 0 获奖 以字节为单位的最短代码获胜。

7
一种表达,多种价值
使用我们熟悉的数学符号:+,x,括号和任何有理数,可以轻松创建计算为某个所需数的表达式。例如:1+(2x3)=7,(1+2)+(3x6.5)=22.5依此类推。无聊。 在此挑战中,我们将使用一个新的运算符:±。采用±在表达方式,你需要通过更换来计算表达式±用的+或-在所有可能的方式,并返回集合中的所有可能的值。例如: 1±2±3 = {-4,0,2,6}因为1±2±3可以是,和中的任何一个1+2+3,并且它们的值分别是。 1+2-31-2+31-2-36,0,2,-4 (±2)x(2±3) = {-10,-2,2,10} 由于类似的原因。 现在,事实证明,给定任意一组不同的实数,就可以创建一个表达式+,x,(,),±,和实数计算结果为给定的。 任务 你的任务是写一个程序或功能在您所选择的语言,这需要一个序列(列表/阵列/任何方便的格式)的整数,并输出表达式(作为字符串)包括+,x,(,),±,和有理数计算得出给定数字的集合。 请注意,确切的字符±无关紧要;您可以使用您选择的任何其他字符,只要它可以与您使用的其他字符区分开即可。但是您必须在提交中提及正在使用的字符。 输入允许由所用有理数的十进制近似值(最高合理精度)组成。 输入和输出可以采用任何标准方式进行。 禁止出现标准漏洞。 您可以假设给定的整数将是不同的,并以递增的顺序提供。 输出中可能包含空格和换行符。 获奖标准 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 例子 输入| 可能的输出 ------------- + ----------------------------- [1,2,3] | 2±0.5±0.5 [-7,-3,1,21] | (1±2)x(3±4) 想法来自城镇锦标赛,2015年秋季。

24
当整数加入队列时
介绍 甲队列是其中元件被抽象数据类型加入到前面(排队)和除去从背面(出列)。这也称为FIFO(先进先出)原则。 最好用一个示例显示: 挑战 给定一个非空数组,该数组包含正整数和表示出队(删除元素)的元素,请输出队列的最终列表。 假设X在此示例中表示出队。让我们看一下以下列表: [45, X, X, 37, 20, X, 97, X, 85] 可以将其转换为以下队列伪代码: Queue Enqueue 45 -> 45 Dequeue -> Dequeue -> (dequeue on an empty queue is a no-op) Enqueue 37 -> 37 Enqueue 20 -> 20 37 Dequeue -> 20 Enqueue 97 -> 97 20 …

11
防位翻转复合数字
有时,在编写程序时,出于某种原因(例如,密码学),您需要使用质数。我认为有时您也需要使用一个复合数字。有时,至少在PPCG上,您的程序必须能够处理任意更改。而且在方便地提出一个有趣的PPCG问题的情况下,也许甚至您使用的数字也必须能够抵御腐败…… 定义 甲合数是一个整数≥4不是素数,即它是两个较小的整数大于1更大的产物抗性bitflip复合数被定义如下:它是其中复合正整数,如果你把它写如果是二进制格式,则位数应尽可能少,您可以更改该位数中的任何一位或两位,并且该数字仍然是合成的。 例 例如,考虑数字84。在二进制中,即1010100。以下是所有相差不超过2位的数字: 0000100 4 2×2 0010000 16 4×4 0010100 20 4×5 0010101 21 3×7 0010110 22 2×11 0011100 28 4×7 0110100 52 4×13 1000000 64 8×8 1000100 68 4×17 1000101 69 3×23 1000110 70 7×10 1001100 76 4×19 1010000 80 8×10 1010001 81 9×9 1010010 82 2×41 …

30
使用恒定的随机源选择一个介于0和n之间的随机数
任务 给定的正整数n小于2^30您选择以任何方式指定的输入,您的代码应输出介于0和之间的随机整数n,包括。您生成的数字应该随机选择。也就是说,从0到的每个值都n必须以相等的概率出现(请参阅规则和警告)。 规则和警告 您的代码可以假定您的语言或标准库中内置的任何声称统一随机的随机数生成器实际上都是统一的。那就是您不必担心所使用的随机源的质量。然而, 您必须确定,如果您使用的随机源是统一的,则您的代码正确地输出了从0到的统一随机整数n。 调用内置或库随机函数时,任何参数都必须是常量。也就是说,它们必须完全独立于输入值。 您的代码可能以1的概率终止,而不是保证终止。 笔记 randInt(0,n) 是无效的,因为它将输入作为内置函数或库函数的参数。 rand()%n通常不会给出统一的随机数。作为betseg提供的示例,如果intmax == 15和n = 10,那么您获得的可能性0-5将比更高6-10。 floor(randomfloat()*(n+1)) 由于0到1之间的可能浮点值的数量有限,因此通常也不会给出统一的随机数。

26
整数的数字硬度
要找到整数的数字硬度,请使用二进制表示形式,并计算可以删除前导和尾随的次数,1直到它以a开头或结尾为止0。去除的总位数是其数字硬度。 这是一个冗长的解释-因此,让我们用一个可行的例子来分解它。 在此示例中,我们将使用数字3167。在二进制文件中,这是: 110001011111 (请注意,在转换为二进制文件的过程中,应确保去除前导零) 它不是以开头或结尾0,因此我们删除了1对位: 1 1000101111 1 还有一个: 11 00010111 11 但是现在开始时有一个0,所以我们不能再删除1对了。总共4个比特我们除去,所以4是数字硬度3167。 但是,对于可以写为2 n -1表示正n的数字(即仅包含1二进制表示形式),永远不会达到0,因此可以删除所有位。这意味着硬度只是整数的位长。 挑战 您的任务是编写一个程序或函数,给定一个非负整数n >= 0,该程序或函数将确定其数字硬度。 您可以提交执行I / O的完整程序,或提交返回结果的功能。您的提交应适用n于您的语言的标准整数范围内的值。 测试用例 如果其中任何一个不正确,或者您想建议添加任何极端情况,请通知我。 0 -> 0 1 -> 1 8 -> 0 23 -> 2 31 -> 5 103 -> 4 127 -> 7 1877 -> 2 …

19
查找可排序的年份
2013年有一个有趣的属性:数字在排序时是连续的(0123)。让我们将这种类型的数字称为可排序数字:一个非负整数,其基数为10的数字在排序后是连续的。不幸的是,这种情况要到2031年才会再次发生,然后直到2103年才会再次发生。您的挑战是编写一个程序或函数,当通过任何标准方法给定非负整数时,该程序或函数将输出或返回下一个可排序的数字。 规则 输入和输出必须以10为底。 输出可以采用任何合理的格式(数字文字,字符串文字,单项数组等)。 您的代码必须在1分钟内为最多98764的所有输入产生正确的输出。 测试用例 0 -> 1 1 -> 2 9 -> 10 10 -> 12 11 -> 12 99 -> 102 233 -> 234 234 -> 243 243 -> 312 2016 -> 2031 2031 -> 2103 2103 -> 2130 2130 -> 2134 2134 -> 2143 9876 -> …

21
保持非零及其邻居
摘自Stack Overflow的这个问题。也感谢@miles和@Dada为解决某些极端情况提供建议的测试输入。 挑战 给定一个整数值数组,请删除所有不包含某个非零值的零。 等效地,如果条目为非零或为立即接近于非零值的零,则应保留该条目。 保留的条目应在输出中保持其在输入中的顺序。 例 给定 [2 0 4 -3 0 0 0 3 0 0 2 0 0] 应删除的值用标记x: [2 0 4 -3 0 x 0 3 0 0 2 0 x] 所以输出应该是 [2 0 4 -3 0 0 3 0 0 2 0] 规则 输入数组可能为空(然后输出也应该为空)。 输入和输出格式像往常一样灵活:数组,列表,字符串或任何合理的格式。 …

30
字母转数字和数字转字母
挑战 在此挑战中,您必须将数字作为输入并输出相应的字母,反之亦然。(1 <=> A,2 <=> B)等 1 -> A 2 -> B ... 26 -> Z A -> 1 B -> 2 ... Z -> 26 规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 输入将仅由来自任一大写字母的A到Z或从整数1到26包容。 允许尾随空格(空格和换行符)。

29
子串总和集
介绍 让我们来观察此阵:[3, 2, 4, 1, 1, 5, 1, 2]。 每个元素显示必须加总的子字符串的长度。让我们看一下上述数组的第一个元素: [3, 2, 4, 1, 1, 5, 1, 2] ^ 第一个索引处的元素是3,因此我们现在取一个长度为3的子字符串,其索引与起始位置相同: [3, 2, 4] 求和时,结果为9,因此子字符串总和集合的第一个元素为9。 我们对数组中的所有元素执行此操作: 3 -> [3, 2, 4] 2 -> [2, 4] 4 -> [4, 1, 1, 5] 1 -> [1] 1 -> [1] 5 -> [5, 1, …

12
7段差异
我认为这里的大多数人都知道数字的7段显示是什么: _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| 我们可以将两个数字之间的7段差(7SD)定义为需要切换以从一个切换到另一个的段数。例如,介于和之间的7SD 为5(需要切换三个水平段和下面两个垂直段),而介于6和8之间的7SD为1。12 此外,我们可以将两个数字之间的7SD定义为其相应数字之间的7SD之和。如果一个数字长于另一个数字,我们假设它们是右对齐的,然后添加显示更大数字的其他最高有效数字所需的段数。例如,考虑介于12345和之间的7SD 549: x: 1 2 3 4 5 y: 5 4 9 7SD: 2+5+2+0+1 = 10 给定n,您的任务是计算介于n和n + …

2
游程编码中的循环
考虑使用1和的一些二进制序列2,例如: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... 让我们写下其运行长度: 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 1 ... _ _ ____ ____ _ _ _ ____ 1, 1, 2, 2, 1, 1, 1, 2, ... 在这种情况下,我们碰巧获得了另一个二进制序列。当然,不能保证(例如,如果我们重复该过程,则第三次运行将是3),但是让我们假设我们这样做了。 现在的问题是,我们是否可以找到一个序列,以便多次应用这种游程编码可以使我们返回原始序列?对于1的循环长度(即此变换的固定点),我们发现了Oldenburger-Kolakoski序列(OEIS条目A0000002): 1, 2, 2, …

30
将数字相加,将数字取反
给定一个数字> 0,输出所有位(1 .. n)串联并取反的和,然后将它们加起来。例如,当n = 6时: 数字1到6串联在一起: 123456 反转: 654321 将它们加在一起将得到:777777。另一个示例是n = 11: 1 2 3 4 5 6 7 8 9 10 11 > 1234567891011 和 11 10 9 8 7 6 5 4 3 2 1 > 1110987654321 将它们加在一起将得到2345555545332。这也称为A078262。 最短的代码胜出!

30
正负顺序
正负顺序 正负序列是从两个种子开始的序列,a(0)而b(0)。该序列的每次迭代都是该序列的前两个成员的加法和减法。即a(N) = a(N-1) + b(N-1)和b(N) = a(N-1) - b(N-1)。 目的产生无限的正负序列或K给出的第一步K。您可以使用给出K第一步的无限输出程序,生成器或函数/程序来执行此操作。输出顺序无关紧要,只要它是一致的即可。(即,b(K) a(K)或a(K) b(K),之间使用一些非数字,非换行符。)输出必须以输入开头。 测试用例 对于输入10 2(为a(0) b(0),这是第一个K方法(或无限方法的一个子节)的可能输出: 10 2 12 8 20 4 24 16 40 8 48 32 80 16 96 64 160 32 192 128 320 64 384 256 640 128 768 512 1280 256 1536 1024 2560 …

12
四是魔数
在发布此挑战之前,我没有检查沙盒 -似乎是CᴏɴᴏʀO'Bʀɪᴇɴ提出的挑战。 给定一个整数输入,编写一个打印“四是一个魔术数字”之谜的程序 四是魔数 五是四,四是魔数 六是三,三是五,五是四,四是魔数 十一是六,六是三,三是五,五是四,四是魔数 五百是十一,十一是六,六是三,三是五,五是四,四是魔数 如果您已经知道了谜语,或者太懒了而无法解决它,就急于找出谜语是什么,这里有一个解释 下一个数字是上一个数字中的字母数。因此,例如,五个有四个字母,因此下一个数字是四个。 六个有三个字母,所以下一个数字是3,三个有五个字母,所以下一个数字是5,五个有四个字母,所以下一个数字是4 谜题以4结尾的原因是因为四个有四个字母,四个是四个,四个是四个,四个是四个...(四个是魔幻数字) 测试用例 0 => Zero is four and four is the magic number 1 => One is three and three is five and five is four and four is the magic number 2 => Two is three and three …
26 code-golf  number 

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.