Questions tagged «bitwise»

对于涉及在位级别上做某事的挑战。

15
切换一些位并得到一个正方形
给定一个整数,您必须找到将N反转为平方数所需的最小位数。只允许将最高有效位以下的位取反。N&gt;3N&gt;3N>3NNN 例子 已经是一个平方数( 2 2),因此预期输出为 0。N=4N=4N=422222^2000 可通过将1位取反来变成一个平方数: 11000 → 1100 1( 25 = 5 2),因此预期输出为 1。N=24N=24N=2411000→1100111000→1100111000 \rightarrow 1100\color{red}125=5225=5225=5^2111 通过反转的单个位不能被转变成平方数(可能的结果是 23, 20, 18和 30),但它可以通过反转2位来实现: 10110 → 10 0 0 0( 16 = 4 2) ,因此预期输出为 2。N=22N=22N=2223232320202018181830303010110→1000010110→1000010110 \rightarrow 10\color{red}0\color{red}0016=4216=4216=4^2222 规则 如果您的代码太慢或在较大的测试用例中引发错误,也可以,但是它应该至少在不到1分钟的时间内支持。3&lt;N&lt;100003&lt;N&lt;100003 < N < 10000 这是代码高尔夫球! 测试用例 Input | Output ----------+-------- 4 …

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

26
将字节数组拆分为位数组
编写一个函数,当给定缓冲区b(长度为1-104857600字节)和一定数量的位n(1 &lt;= n &lt;= 64)时,会将缓冲区分成若干n位。右填充最后一个数据块,0最高至s n位。 例如 给定缓冲区b = "f0oBaR"或等效的[102,48,111,66,97,82]and n = 5,返回 [12, 24, 24, 6, 30, 16, 19, 1, 10, 8] 这是因为上述缓冲区以二进制表示时看起来像: 01100110 00110000 01101111 01000010 01100001 01010010 当重新分组为5s时,如下所示: 01100 11000 11000 00110 11110 10000 10011 00001 01010 010[00] 将其转换回十进制后将给出答案。 笔记 您可以使用语言中最有意义的任何数据类型来表示缓冲区。在PHP中,您可能会使用一个字符串,在Node中,您可能要使用一个缓冲区 如果使用字符串来表示缓冲区,请假定为char-&gt; int转换为ASCII 如果愿意,可以使用一个整数数组(0-255)进行输入 返回值必须是数组或整数列表 测试用例 &gt; …

9
打印所有3 x 3坚固的正方形
坚固的正方形(类似于魔术正方形)是整数1到N 2在N by N网格上的排列,以使每2 by 2子网格具有相同的总和。 例如,对于N = 3,一个坚固的正方形是 1 5 3 9 8 7 4 2 6 因为四个2 x 2子网格 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 全部加起来等于23, 23 = 1 + 5 + 9 + 8 = 5 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

10
XOROR序列
细胞自动机确实令人着迷。通常谈论的是二进制的,即可以用数字表示的那些。但是,在我看来,这些做法已经死了。三元CA更有趣,但是我们要考虑所有ASCII!那会是多么有趣! 我将为您介绍一个简单的决定规则,而不是为每个角色决定一个规则集。为了决定下一代产品,我们看一下三个“顶部”细胞,就像细胞自动机一样。观察一个例子: QWERTY X Y Z 的“顶部” Y是WER上方,右侧,上方,上方和左侧的单元格。Y将是我要定义的函数的结果,该函数是三字符字符串的函数。的“顶部” X是 QW,或者是不存在/缺少的单元格中填充的空间。 现在,为乐趣功能!由于某种原因,我将此序列称为XOROR序列。让A是左上角单元格则charCode,B是上述细胞则charCode,并且C是右上角的细胞则charCode。然后,将得到的细胞是其charCode为特点(A XOR B) OR C,那就是(A^B)|C。(如果结果值大于126,则将其设置为(CHARCODE % 127) + 32。如果值小于32 ,则不执行任何操作。)这是种子的示例Hello, World!: S: Hello, World! 0: mmmo/c_ z}~)e m = ( )^(H)|(e) = (32^72)|101 = 104|101 = 109 (m) m = (H)^(e)|(l) = (72^101)|108 = 45|108 = 109 (m) etc. 1: …

25
计算二进制Sierpinski三角序列
Binary Sierpinski Triangle序列是数字序列,其二进制表示形式表示Binary Sierpinski Triangle的行,该序列是通过在无限的零行中以1开头,然后用这些位的xor重复替换每一对位来给出的,就像这样: f(0)= 1 =1 f(1)= 1 1 =3 f(2)= 1 0 1 =5 f(3)= 1 1 1 1 =15 f(4)= 1 0 0 0 1 =17 OEIS上提供了更多数字:https://oeis.org/A001317 输入:您喜欢的任何格式的非负整数n。(必须为所有n个(最多30个)工作。) 输出:序列的第n个项(0索引),为十进制数。 这是代码问题,因此请尝试使用您的语言提供的最短答案(以字节为单位)。没有答案将被接受。存在标准漏洞(例如,不对序列进行硬编码),但您可以使用在发布此挑战后创建/修改的语言。(除非您的解决方案较短,否则请避免以已经使用的语言发布其他解决方案。) 排行榜 这篇文章底部的Stack Snippet会根据答案a)生成目录,a)作为每种语言最短解决方案的列表,b)作为整体排行榜。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 ## Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 bytes …

15
几何挑战
每个人都喜欢几何。那么,为什么我们不尝试编写高尔夫球代码呢?这项挑战涉及输入字母和数字并根据其形状。 输入 输入将采用的形式(shapeIdentifier)(size)(inverter)。 但是shapeIdentifier,大小和逆变器是什么? 形状标识符是您将使用*s 制作的形状类型的标识符。以下是形状标识符: s -正方形 t - 三角形 大小将介于之间1-20,它是图形的大小。 逆变器确定形状是否上下颠倒,用a +或a 表示-。请注意: s3-==(等于),s3+因为正方形是对称的。但是,t5-!=(不相等)t5+。 在输出中可以使用尾随空白,但不能使用前置空白。 输出实例 Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * 特别说明 三角形输入将始终为奇数,因此三角形*的顶部始终以1结尾。 三角形的大小(如果是)是底部的大小,如果是 +,则是顶部的大小-。
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

19
不同数量,相同重量
背景 整数的汉明权重是其二进制表示形式中的1的数量。对于此挑战,整数用32位表示,并且它们是无符号的。 挑战 给定0到2 ^ 32-1之间的整数(不包括在内),请在相同范围内以及汉明权重相同的情况下输出另一个整数。 例子 Input (Decimal) | Input (Binary) | Hamming weight | Possible output (Decimal) 46 | 0b0010 1110 | 4 | 15 12 | 0b0000 1100 | 2 | 3 1 | 0b0000 0001 | 1 | 2 3 | 0b0000 0011 | 2 | …

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始1 to 3,但是该范围每40移动一次就增加1(因此,在40移动之后,范围变为2 to 4)。 如果板上的原子小于该范围,则有1 / no. of atoms of that number on the board可能产生。 假设您有一个2要玩的地方,董事会看起来像这样: 1 1 2 1 让我们将放在的2右侧1。 董事会现在变成: 1 1 2 1 2 注意:木板环绕,所以1最左侧的实际上2是最右侧的旁边。稍后将很重要。 有“特殊”原子的4种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

30
32位整数的反向位顺序
编写最短的代码以反转32位整数的位顺序。 规则: 如果您的语言不支持数值(例如Windows Batch),则假定输入为有效的整数或等效字符串。 如果您的语言不支持数字值(例如Windows Batch),则输出必须是有效的整数或等效的字符串。 仅标准库。 它可能是一个功能或一个完整的程序。 输入可以是来自stdin或作为函数参数。 输出必须是stdout或作为返回值。 如果您的语言具有内置的或标准的库函数,可以一步完成此任务(例如,rbit在ARM汇编中),则无法使用。 例子: 键: 小数 二元 (相反) 反向二进制 十进制输出 例子: -90 (用于演示的8位示例) 10100110b (相反) 01100101b 101 486 00000000000000000000000111100110b (相反) 01100111100000000000000000000000b 1736441856 -984802906 11000101010011010001100110100110b (相反) 01100101100110001011001010100011b 1704506019 注意:遗漏是免费游戏。如果我没有说出来,并且它不是标准漏洞之一,那么它是完全允许的。

22
加倍,异或再做一次
对于任何大于0的整数,我们将函数g定义为g(n)= n XOR(n * 2)。 给定x&gt; 0,找到最小整数y&gt; 0,使得对于某些k&gt; 0,g k(y)= x。 例 x = 549 549 = 483 XOR (483 * 2) (as binary: 1000100101 = 111100011 XOR 1111000110) 483 = 161 XOR (161 * 2) (as binary: 111100011 = 10100001 XOR 101000010) 这意味着g 2(161)= 549。我们不能再走了,因为没有n使得g(n)= 161。因此,对于期望的输出X = 549为Y = …

12
“借位”两个数字
您是否知道少数可以从较大的数字借位?这是一个例子。假设我们的两个数字分别为5和14。首先,将它们写成二进制: 5 14 000101 001110 首先,我们从较大的数字中减去最小的on位,然后将其赋予其他数字中的最小off位。所以 This bit turns off | v 000101 001110 ^ | This bit turns on 现在我们有 000111 001100 我们的数字是7和12。第一个数字仍然较小,因此我们继续。 000111 001100 001111 001000 现在我们有15和8,所以我们可以停下来。我们将这组操作称为“借位”两个数字。让我们再举一个例子。20和61。 20 61 010100 111101 010101 111100 010111 111000 111111 100000 63 32 因此,我们最终的结果是32,63,让我们做一个更多。31和12。31已经大于12,因此无事可做!借位31和12不会产生31和12的变化。 挑战 您的挑战是编写一个接受两个数字并对其进行位借位的程序或函数。这两个数字将始终为正整数。您的输入和输出可以采用任何合理的格式。 测试IO: Input: 2, 3 Output: 3, …

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

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.