Questions tagged «base-conversion»

位置数字系统之间的数字转换。最常见的系统是十进制,二进制,十六进制等。

17
查找所有可能的基本表示形式的总和
这项挑战的目的是编写一个程序,以转换输入字符串(假定该字符串仅包含字母和数字),并尽可能多地使用2到36之间的基数,并找到结果的基数10。 输入字符串将被转换为所有在其数量会根据用于碱基高达36标准字母表来定义的碱基:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ。例如,输入2T仅在以30为基数的有效值。该程序会将2T从30到36的基数转换为十进制并求和。 您可以假定输入字符串仅包含字母和数字。您的程序可以使用大写或小写;它可以但不需要同时支持两者。 测试用例 输入样例: 2T 可能基准图 Base Value 30 89 31 91 32 93 33 95 34 97 35 99 36 101 输出:665 输入样例: 1012 可能基准的图表: Base Value 3 32 4 70 5 132 6 224 7 352 8 522 9 740 10 1012 11 1344 12 1742 13 …

17
简化二进制
挑战 给定通过任何方式输入的二进制数字,请使用完整程序或函数“简化”该数字。 输入值 [binary] binary 是二进制数大于0的数字。 输出量 接受输入,不使用内置函数将其转换为以10为底,然后,如果该数字仅包含1和0,则将其转换为以10为底的数字,就好像它是另一个二进制数一样。重复该过程,直到无法以二进制形式读取该数字并输出该数字。 其他资讯 如果输入为1,则只需输出1。您的程序不应继续无限简化1。 这是代码高尔夫,因此以星期二(11月17日)为单位的最短答案为胜。 如果有什么令人困惑的地方,请留下评论,指出我需要清除的内容,然后我将进行相应的编辑。 不允许用于基本转换的内建函数。 例子 Input | Output 1 | 1 1010 | 2 1011 | 3 1100100 | 4 1100101 | 5 1111110011 | 3

8
将数字转换为二进制…但是也可以使用二进制
根据此数字亲密视频中提到的“二进制但带二进制”表示法,编写一个函数,该函数将单个数字作为输入并在允许二进制的“二进制”系统中输出该数字的所有变体。 规则 代码只能是函数/方法,不能是完整程序 输入是作为唯一参数传递给函数的整数 输出是输入数字的所有有效变体,转换为“二进制但带二进制”表示法 输出是函数的返回值,但可以使用任何方便的格式,只要它很明显即可(例如3个整数,3个字符串,逗号/空格分隔的字符串,整数数组等),顺序不重要 万一一种语言碰巧包含一个内置函数来实现结果,这种情况不太可能发生,这是不允许的 以字节为单位的最短代码是赢家 输出说明 例如,如果传递了数字9,则可以将其转换为1001,将其转换为二进制,但如果2在每个位置都允许s,则也可以将其写为201(ie 2*4 + 0*2 + 1*1)或121(ie 1*4 + 2*2 + 1*1),如下表所示: +----+----+----+----+ | 8s | 4s | 2s | 1s | +----+----+----+----+ | 1 | 0 | 0 | 1 | | 0 | 2 | 0 | 1 | | …

14
有多少个林奇贝尔号?
挑战 给定一个整数,n作为输入where 36 >= n >= 2,输出base中有多少个Lynch-Bell数字n。 输出必须以10为底。 林奇贝尔数字 在以下情况下,数字是Lynch-Bell数字: 其所有数字都是唯一的(无重复数字) 该数字可被其每个数字整除 它不包含零作为其数字之一 因为所有数字都必须是唯一的,并且每个基数中都有一组有限的单位数字,所以林奇-贝尔数字是有限的。 例如,在基数2中,只有一个Lynch-Bell号码1,因为所有其他号码要么重复数字,要么包含0。 例子 Input > Output 2 > 1 3 > 2 4 > 6 5 > 10 6 > 10 7 > 75 8 > 144 9 > 487 10 > 548 Mathematica Online在10以上的内存不足。您可以使用以下代码生成自己的代码: Do[Print[i," > …

12
实基转换
对于基数转换,我们遇到了一些挑战,但是所有这些挑战似乎都适用于整数值。用实数做吧! 挑战 输入: 以10为底的实数正数 x。可以将其视为双精度浮点数或字符串。为了避免精度问题,可以将该数字假定为大于10 -6且小于10 15。 甲目标基站 b。这是2到36之间的整数。 甲数的小数位的 Ñ。这是1到20之间的整数。 输出:x在n的底数b中的表示形式,带有n个小数位。 在计算输出表达式时,第n个以外的数字应被截断(而不是四舍五入)。例如,x = 3.141592653589793在base中b = 3是10.0102110122...,因此n = 3输出将是10.010(截断),而不是10.011(舍入)。 对于在小数部分中产生有限位数的x和b,还允许使用等效的无限表示形式(截断为n位)。例如,4.5十进制也可以表示为4.49999...。 不用担心浮点错误。 输入输出格式 x将不带前导零。如果x恰好是整数,则可以假定它的小数部分为零(3.0),也可以不为小数部分(3)。 输出是灵活的。例如,可以是: 代表数字的字符串,在整数和小数部分之间带有合适的分隔符(小数点)。位11,12等等(对于b超过10)可以表示为字母A,B像往常一样,或任何其它不同的字符(请注明)。 一个字符串用于整数部分,另一个字符串用于小数部分。 两个数组/列表,每个部分一个,包含从0到35数字的数字。 唯一的限制是整数和小数部分可以分开(合适的分隔符)并使用相同的格式(例如,[5, 11]对于表示整数部分['5', 'B']的列表和对于表示分数部分的列表,否)。 附加规则 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 测试用例 输出被示出为与数字串0,..., 9,A,..., Z,使用.作为小数点分隔符。 x, b, n -> output(s) 4.5, 10, 5 -> 4.50000 or 4.49999 42, …

3
大底,小数位
J语言的语法非常笨拙,无法指定常量。我想特别关注一个很酷的功能:以任意基础编写的能力。 如果编写XbY用于X任何数量和Y字母数字的任意字符串,则J将解释Y作为基础X数,其中0通过9具有其通常的含义,a通过z通过35表示10。 当我说X任何数字时,我的意思是任何数字。出于这个问题的目的,我将约束X为正整数,但是在J中,您可以使用任何东西:负数,分数,复数,等等。 奇怪的是,您只能使用0到35之间的数字作为基数,因为所有可用符号的集合都只包含0-9和az。 问题 我想要一个程序来使用这种方法帮助我像2,933,774,030,998这样的魔术数字打高尔夫球。好吧,好吧,也许没那么大,我会很轻松的对待你。所以... 您的任务是编写一个程序或函数,该程序或函数将一个(通常是较大的)十进制数N在1到4,294,967,295(= 2 32 -1)之间作为输入,并输出/返回该形式的最短表示形式XbY,其中X正整数Y是一个字符串,由字母数字组成(0-9和az,不区分大小写),并Y以base Xequals 解释N。 如果每个表示形式XbY表示的长度大于或等于的位数N,则N改为输出。在所有其他关系中,您可以输出最短表示形式的任何非空子集。 这就是代码高尔夫,所以越短越好。 测试用例 Input | Acceptable outputs (case-insensitive) ------------+------------------------------------------------------- 5 | 5 | 10000000 | 79bkmom 82bibhi 85bgo75 99bauua 577buld | 620bq9k 999baka | 10000030 | 85bgo7z | 10000031 | 10000031 | 12345678 | 76bs9va 79bp3cw 82bmw54 86bjzky …

6
数字符-点点滴滴!
简单的部分:给定仅包含可打印ASCII字符(空格-波浪号)的输入字符串,计算每个字符的出现次数并以任何方便的格式返回结果。字符串的结果a%hda7a应类似于:a:3, %:1, h:1, 7:1, d:1。排序是不必要的,定界符和格式是可选的,但必须易于理解哪个数字对应哪个字符。输入的字符串中不得包含字符(a:3, b:0, c:0, d:1, ...不正确)。 真正的挑战: 将代码中的每个字符转换为8位二进制数(如果使用的是UTF-16或类似格式,则转换为16位),并枚举每个字符0。 对于每个字符(i是枚举数),- i%7bit 1 必须为1。这些位从右开始编号。其他所有位都可以是您想要的。 让我们以以下代码为例: [f]-xif)#f 将其转换为二进制,我们得到下面的数组。第一个数字(表示[有1在第0位置,这样一方面是OK。第二个数字(表示f有1在第1'位置,所以,一个是OK了。继续这样下去,你会看到上面的代码是有效的。 C 76543210位号 --------- ---------- [0101101 1 0-确定 f 011001 1 0 1-确定 ] 01011 1 01 2-确定 -0010 1 101 3-好 x 011 1 1000 4-好 i 01 1 01001 5-好 f …

5
是否有更多的硬物或软物
与假设分析书的开头相切。 输入是一个由空格组成的矩形,如字符串,字符串列表等,其对象由#内部组成: ######## # # ######## ### #### ### #### ### 对象将始终是非相交,非接触的矩形。软对象的定义是#中间没有用填充的对象,而只是边界,而硬对象则是填充的对象。具有宽度或高度的对象<=2被认为是坚硬的。所有对象都是硬的或软的。 如果输入,输出中有更多的硬对象"Hard",如果较软,则输出"Soft",如果相等则输出"Equal"。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 这些情况不是全部输入,而是每个对象应表征的内容。实际输入将类似于问题顶部的ascii艺术。 硬 # #### ## ## ########## ########## ########## 柔软的 ### # # ### ################### # # # # # # ################### #### # # # # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

19
反向和平方
在此挑战中,您将根据好奇的序列计算数字。 您的输入是一个十进制非负整数。反转此整数中的位,然后对数字求平方即可得到所需的输出。 反转位时,不得在输入中使用任何前导零。例如: 26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121 此序列的前25个输入/输出: 0: 0 1: 1 2: 1 3: 9 4: 1 5: 25 6: 9 7: 49 8: 1 9: 81 10: 25 11: 169 12: 9 13: 121 14: …

2
Koopa Shell序列
在各种《超级马里奥》游戏中,绿色和红色的 Koopa Troopa弹壳可以在平坦表面上无摩擦地滑动,并破坏挡在途中的砖块。当壳碰到砖块时,块破裂,将其变成空白空间,而Koopa壳反转方向。例如,在这里观看红色外壳。 假设“超级马里奥”级别只有一个街区高,并且每个网格单元都是砖块或空白空间,但最左边的单元包含向右移动的外壳。该关卡也是周期性的,因此,如果壳退出该关卡的右边缘或左边缘,它将在另一侧重新进入。在这种情况下,壳将继续弹起并破坏该关卡中的所有砖块,直到不再有。最后一块砖块破裂后,壳会走多远? 挑战 编写一个包含非负十进制整数的程序或函数。这个数字以二进制形式表示,没有前导零(唯一的例外是0本身),对一个块的高级布局进行编码。A 1是砖块,a 0是空白空间。 Koopa外壳插入到水准仪的最左边缘,并且最初向右移动。例如,与输入关联的级别39为 >100111 因为100111是二进制39,以及>和<右表示和左侧分别移动壳。 一旦最后一块积木(aka 1)损坏,您需要打印或返回壳体行进的总距离。 对于输出39IS 7和水平看起来像这样的变化: Level Cumulative Distance >100111 0 <000111 0 >000110 0 0>00110 1 00>0110 2 000>110 3 000<010 3 00<0010 4 0<00010 5 <000010 6 000001< 7 000000> 7 <-- output 类似地,输出为6IS 1: Level Cumulative Distance >110 …

6
上升,顺序,上升
我们有严格增加的非负整数序列,例如: 12 11 10 等待!这个顺序不是严格增加的,是吗?好吧,数字写在不同的基础上。最小的底数是2,最大的底数是10。 任务是猜测每个数字的写法基础,以便: 顺序严格增加, 基数之和最大。 例如,样本的解决方案将是: 6 8 10 因为在这些基数下该序列变为8 9 10十进制-严格增加的序列,并且我们无法找到该序列仍严格增加且其总和大于的基数6+8+10。 由于第二个限制,解决方案3 5 7并不令人满意:尽管该序列5 6 7位于这些碱基的下面-我们需要最大化碱基和3+5+7 < 6+8+10。 如果毫无根据2<=b<=10,该系列可能会严格增加,例如: 102 10000 10 单 0 应该输出。 输入序列可以以最适合您的解决方案的方式传递(标准输入/命令行参数/函数参数...)。

12
您所有的基地97都属于我们
许多编程语言都是使用可单独打印的ASCII,制表符和换行符编写的。然后将这97个字符存储在8位字节中(实际上能够容纳256个不同的字符!),这效率非常低-尤其是在代码高尔夫球中,每个字节都很重要!在这一挑战中,您将可以通过使用基本转化来降低得分。 挑战 您的程序/函数将字符串或字符数组作为输入,然后将其解释为以97为基数的数字。然后,它将其转换为以256为 基数的数字,并对表示该数字所需的符号(即字节)数进行计数。该计数将是您的程序/功能的输出/返回值。 一个使用base-2和base-10(二进制和十进制)的简单示例:如果输入为10110,则输出将为2,因为10110 2 = 22 10(表示输出必须用两位数字表示)。类似地,1101 2变为13 10,也给出2的输出,而110 2变成6 10,所以输出为1。 输入字符串可以包含所有95个可打印的ASCII字符,以及换行符\n和文字选项卡\t,这 将为基础转换创建97个符号的源字母。确切的字母表因此将(取代\t和\n与实际文字标签和换行;音符换行以下字面空间): \t\n !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 请注意,该字母的顺序很重要:例如,base-97 \t对应于decimal 0,并且!对应于decimal 3。 一些测试用例:(您不需要处理空字符串) Input Output 'example@domain.com' 15 'All your base are belong to us!' 26 ' abcd' 9 '~ abcd' 10 'ABCDEFGHIJK' 9 'zyxwvutsrpq' 10 '{".~"}.~' 7 '\t\t\t\t\t\t\t\t' 1 (with \t …

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

8
漂亮的图案抽屉(包括小立方体)
漂亮的花纹抽屉 早安PPCG! 前几天,当我试图帮助Stack Overflow上的某个人时,他的问题的一部分使我对这一挑战有所了解。 首先,检查以下形状: 其中所有黑色数字是形状中点的索引,所有深蓝色数字是这些点之间的链接的索引。 现在,给定一个从0x00000到0xFFFFF的十六进制数字,您需要在控制台中仅使用字符空间和“■”绘制形状(也可以使用字符“ o”)。 以下是输入十六进制数并输出形状的一些示例: 0xE0C25 : ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 0xC1043 : ■ ■ ■ ■ ■ …

12
以-10为底的输出N
挑战: 在您选择的编程语言中,接受一个整数 作为基数10的输入,并以十进制表示法(也称为基数-10)输出该整数。 示例算法: 这是一种从Wikipedia提取的算法,可以将VB.NET中的10转换为负数: Function toNegativeBase(Number As Integer , base As Integer) As System.Collections.Generic.List(Of Integer) Dim digits As New System.Collections.Generic.List(Of Integer) while Number <> 0 Dim remainder As Integer= Number Mod base Number = CInt(Number / base) if remainder < 0 then remainder += system.math.abs(base) Number+=1 end if digits.Insert(0, …

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.