Questions tagged «number»

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

11
编码一个整数
给定正整数n > 2。我们将其转换为数组,如下所示: 如果等于则2返回一个空数组 否则,创建所有n升序排列的所有素数的数组,然后将每个元素替换为其素数序列中的索引,最后将每个元素转换为数组 例如,让我们将数字转换46为数组。首先,将其转换为主要因子数组: [2, 23] 号码23是9个质数,所以更换2空数组并23用[9]。数组现在变为: [[], [9]] 的主要因子9是3和3,因此: [[], [3, 3]] 对两个都做相同的事情3: [[], [[2], [2]]] 最后: [[], [[[]], [[]]]] 现在,要对其进行编码,我们只需用替换每个开括号,1并将每个闭括号替换为0,然后删除所有结尾的零,并1从结尾删除一个。这是我们的二进制数。使用上面的示例: [ ] [ [ [ ] ] [ [ ] ] ] | | | | | | | | | | | | | | …

30
这个数字是数字吗?
挑战 甲纯位数是一个非负整数,其位数都相等。 创建一个函数或完整程序,该函数或完整程序将单个整数作为输入,并且如果输入的数字是以10为底的repdigit,则输出真实值,否则输出false。 输入保证为正整数。 您可以不受限制地接受并使用输入作为10进制的字符串表示形式。 测试用例 这些都是1000以下的位数。 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111 222 333 444 555 666 777 888 999 可以在OEIS上找到更大的列表。 获奖 以字节为单位的最短代码获胜。这并不是说不欢迎用冗长的语言回答。

30
找到最高的唯一数字
令人惊讶的,我们还没有一个简单的“找到最高位”的挑战,但我认为这是一个有点太微不足道了。 给定一个非负整数的输入,返回在整数中找到的最高的唯一(即不重复)数字。如果没有唯一数字,则您的程序可以执行任何操作(不确定的行为)。 输入可以作为单个整数,字符串或数字列表。 测试用例 12 -> 2 0 -> 0 485902 -> 9 495902 -> 5 999999 -> Anything 999099 -> 0 1948710498 -> 7 这是代码高尔夫球,因此每种语言中最少的字节会获胜!

30
这个数字是三角形的吗?
挑战 给定一个正整数,请确定它是否为三角数,并相应地输出任意两个恒定且不同的值之一。 定义 甲三角形号码是可以被表示为连续的正整数的总和,从1开始。它们也可以与式表示的数n(n + 1) / 2,其中n一些正整数。 测试用例 真相: 1 3 6 10 15 21 55 276 1540 2701 5050 7626 18915 71253 173166 222111 303031 307720 500500 998991 虚假: 2 4 5 7 8 9 11 16 32 50 290 555 4576 31988 187394 501500 999999 规则 您输入的可能是函数或程序。 …

24
阶乘和永无止境的循环!
如您所知,正整数的阶乘n是等于或小于的所有正整数的乘积n。 例如 : 6! = 6*5*4*3*2*1 = 720 0! = 1 现在,我们将定义一个不相关名称的特殊操作,例如sumFac: 给定正整数n,sumFac(n)是数字的阶乘之和。 例如 : sumFac(132) = 1! + 3! + 2! = 9 任务 您的任务(无论是否选择接受)都是将应用的序列(可能是无限的)返回sumFac给输入中给定的整数。 范例: 132 -> 132, 9, 362880, 81369, 403927, ... 但这还不是全部!确实,的应用sumFac最终将创造一个循环。您还必须返回此循环! 如果您的语言具有内置阶乘,则可以使用它。我对返回类型并不挑剔,您只需要以人类可以理解的格式返回sumFac应用程序的序列和循环。 编辑:为了帮助您更好地可视化输出,我复制下面的Leaky Nun的内容应该是什么: [132, 9, 362880, 81369, 403927, 367953, 368772, 51128, 40444, 97, 367920, …

9
Sharkovskii的奇怪排序
介绍 在这个挑战中,我们将处理正整数的某种顺序。排序如下: 3, 5, 7, 9, 11, ... 2*3, 2*5, 2*7, 2*9, 2*11, ... 4*3, 4*5, 4*7, 4*9, 4*11, ... 8*3, 8*5, 8*7, 8*9, 8*11, ... 16*3, 16*5, 16*7, 16*9, 16*11, ... ... ... 64, 32, 16, 8, 4, 2, 1 我们首先以升序列出所有大于1的奇数整数。然后,我们列出两个大于1的奇数整数,然后分别列出4次,然后8次,依此类推:对于所有k,我们以升序列出2 k次大于1的奇数整数。最后,我们以降序列出两个幂,以1结尾。每个正整数在此“列表”中恰好出现一次。 更明确地说,考虑两个不同的正整数A = n·2 p和B = m·2 q,其中n,m≥1是奇数,而p,q≥0。然后,一来之前乙的排序,如果满足下列条件之一成立: …

30
反向(二进制)位数是多少?
因此,您将获得一个以10 为基数的正数。您的工作是反转二进制数字并返回该基数10。 例子: 1 => 1 (1 => 1) 2 => 1 (10 => 01) 3 => 3 (11 => 11) 4 => 1 (100 => 001) 5 => 5 (101 => 101) 6 => 3 (110 => 011) 7 => 7 (111 => 111) 8 => 1 (1000 => …

30
Notcalc(计算错误的答案)
目标: 给定两个自然数(整数从0到无穷大),输出一个不是这些数之和的数字,而是一个自然数。 解决方案示例(TI基础): A+B+1 not(A+B) 无效的解决方案: A+B-1(对于输入0,0,它返回-1,这是不自然的) "ABC"(ABC不是数字) 笔记: 输出必须始终是两个自然数之和(实际上只是一个自然数) -1,undefined,infinity,NaN和错误消息不自然数。就我们的目的而言,0是自然的(尽管并非所有数学家都同意)。

19
找到第n个素数,使得素数-1被n整除
问题 目的是按照标题所说的那样找到第n个素数,使得素数-1被n整除。 说明 这是一个示例,因此您可以理解问题,这不一定是应该解决的方法。它仅是解释问题的一种方式 给定3作为输入,我们将首先查看所有素数 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 ... 然后我们选择素数,使得素数-1可被n整除(在这种情况下为3) 7 13 19 31 37 43 61 67 73 79 97 103 107 109 127 ... 然后,我们按此顺序选择第n个项 我们将输入19输入3 注意 我们还可以将其视为序列{1,n + 1,2n + 1,3n +1 ... …

30
让我们减少单调
...但是嘿,不必太严格。 给定严格正整数的非空数组,请确定其是否为: 单调严格减少。这意味着每个条目都严格小于上一个条目。 单调不增加,但不严格减少。这意味着每个条目都小于或等于前一个条目,并且该数组不属于上述类别。 以上都不是。 请注意以下特殊情况: 具有单个数字的数组是单调严格递减的(很明显如此)。 重复相同编号的数组是单调非递增的,但不是严格递减的。 规则 您可以提供程序或功能 输入可以采用任何合理的格式:数组,列表,数字用空格分隔的字符串,... 您可以分别为三个类别选择任何三个一致的输出。例如,输出可以是数字0,1,2; 或字符串1 1,1 0空字符串。 以字节为单位的最短代码获胜 测试用例 单调严格递减: 7 5 4 3 1 42 41 5 单调不增加,但不严格减少: 27 19 19 10 3 6 4 2 2 2 9 9 9 9 以上都不是: 1 2 3 2 10 9 8 7 …

18
数字键的骑士数字
对于标准小键盘上的非零数字 789 456 123 考虑将一个国际象棋骑士放置在任何数字上,并以任意数量的正常L形跳动来移动它,找出正的十进制整数。用这种方式可以表示哪些正整数? 其中之一是38,因为骑士可以从3那里开始,然后向左和向上移动8。381并且383也是可能的。 3如果不进行跳转(允许),则它本身是可能的。5也是,但是从不能到达其他数字5,因此它是5出现该数字的唯一数字。 编写一个程序或函数,该程序或函数需要一个正的十进制整数(如果需要,可以将其作为字符串),并且如果该数字可以由骑士在数字小键盘上以上述方式表示,则打印或返回真实值,否则输出一个falsy值。 以字节为单位的最短代码获胜。抢七是较早的答案 例子 真相: 1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, 38183, 38383, 18349276, 183492761, 618349276 虚假: 10, 11, 50, 53, 55, 65, 95, 100, 180, 182, 184, 185, 186, …

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

29
它是前缀代码吗?
在信息论中,“前缀代码”是一个字典,其中所有键都不是另一个的前缀。换句话说,这意味着没有一个字符串以其他任何字符串开头。 例如,{"9", "55"}是前缀代码,但{"5", "9", "55"}不是。 这样做的最大优点是,可以将编码的文本记下来,并且它们之间没有分隔符,并且仍然可以唯一地解密。这在诸如Huffman编码之类的压缩算法中得到了体现,该算法始终会生成最佳的前缀代码。 您的任务很简单:给定一个字符串列表,确定它是否是有效的前缀代码。 您的输入: 将是任何合理格式的字符串列表。 仅包含可打印的ASCII字符串。 将不包含任何空字符串。 您的输出将是一个true / falsey值:如果是有效的前缀代码,则为True,否则为falsey。 这是一些真实的测试用例: ["Hello", "World"] ["Code", "Golf", "Is", "Cool"] ["1", "2", "3", "4", "5"] ["This", "test", "case", "is", "true"] ["111", "010", "000", "1101", "1010", "1000", "0111", "0010", "1011", "0110", "11001", "00110", "10011", "11000", "00111", "10010"] 以下是一些错误的测试案例: ["4", "42"] …

14
{卷数};
在深奥的编程语言Curly中,程序仅由花括号{}和分号组成;。尽管使用了不起眼的工具集,但是Curly的文字可以表示任何非负整数。但是,对于初学者来说,格式有点难读,所以让我们写一些代码为我们做转换。 数字格式 卷曲数是根据以下规则构造的: 添加分号会将数字加1。 用大括号括起来的数字乘以4。 花括号组可以嵌套但不能串联。大括号必须正确匹配。 一组花括号外的分号必须在之后,而不是之前。 为避免在分析时产生歧义,数字必须始终以大括号开头。 一些例子: {;;} 2*4 = 8 {{;};}; (1*4+1)*4+1 = 21 {};;; 0*4+3 = 3 (请注意,规则5表示数字0到3必须以一对空的花括号开头。) 还有一些无效的例子: {{;}{;;}} Curly brace groups side-by-side, not nested {;}} Unmatched brace {;{;}} Semicolon before curly-brace group ;;; Number does not start with curly brace 这是卷曲数字的BNF语法: <number> ::= "{" …

22
XOR乘法
您的目标是以尽可能少的字节实现下面定义的XOR(无载)乘法运算。 如果我们^将按位XOR()视为二进制加法而不携带 101 5 ^ 1001 9 ---- 1100 12 5^9=12 我们可以@通过执行二进制长乘法来执行XOR乘法,但是执行加法步骤而不进行按位XOR ^。 1110 14 @ 1101 13 ----- 1110 0 1110 ^ 1110 ------ 1000110 70 14@13=70 (对于数学家,这是多项式环中的乘法,通过将Z F_2[x]评估x=2为多项式来标识具有自然数的多项式。) XOR乘法通过按位XOR 交换a@b=b@a,关联(a@b)@c=a@(b@c)和分布a@(b^c)=(a@b)^(a@c)。实际上,a@b=a*b每当匹配乘法a并且b是2like的幂时,就是这样独特的运算1,2,4,8...。 要求 以两个非负整数作为输入和输出或打印其XOR乘积。这应该是数字或其十进制字符串表示形式,而不是二进制扩展名。最少的字节数获胜。 不用担心整数溢出。 这是一些格式为的测试用例a b a@b。 0 1 0 1 2 2 9 0 0 6 1 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.