Questions tagged «compression»

与压缩或解压缩任意数据有关。与压缩单个特定输入相关的挑战应标记为[kolmogorov-complexity]

1
通过整数操作实现IEEE 754 64位二进制浮点数
(我暂时将问题标记为“ C”,但是如果您知道另一种支持联合的语言,则也可以使用它。) 您的任务是+ - * /为以下结构构建四个标准数学运算符: union intfloat{ double f; uint8_t h[8]; uint16_t i[4]; uint32_t j[2]; uint64_t k; intfloat(double g){f = g;} intfloat(){k = 0;} } 这样操作本身就只能操纵或访问整数部分(因此也不能在操作过程中的任何时候都与double进行比较),并且结果是完全相同的(对于非数字结果,例如,功能上是等效的NaN)好像相应的数学运算已直接应用于double。 您可以选择要操作的整数部分,甚至可以在不同的运算符之间使用不同的整数部分。(尽管我不确定您是否要这样做,您也可以选择从联合中的任何字段中删除“未签名”。) 您的分数是四个运算符中每个字符的代码长度总和。最低分获胜。 对于不熟悉IEEE 754规范的我们来说,这是一篇有关Wikipedia的文章。 编辑: 03-06 08:47在intfloat结构中添加了构造函数。您可以使用它们进行测试,而不必手动设置double /etc。

2
数论解释器,模n
一个句子数论(我们的目的)的是下列符号序列: 0和'(后继) -后继手段+1,所以0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加法)和*(乘法) = (等于) (和)(括号) 逻辑运算符nand(a nand b是not (a and b)) forall (通用量词) v0,v1,v2等。(变量) 这是一个句子的示例: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) 这not x是简写x nand x-实际的句子会用到(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  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 

13
怪异和野豆游戏
也许你们中有些人已经知道这个游戏:您有一系列不同颜色的软糖。对于每种颜色,豆子都有不同的口味,有些是好,有些是坏,您不能一概而论。您必须选择一种给定颜色的豆,然后祈祷您选择了一个好的豆。 因此,编写最短的程序以接收您选择的颜色(从给定列表中选择),并随机返回所选的口味。必须从内置列表中挑选口味。输入和输出的可能列表为: Input Output choices [only one from the list] -------------------------------------------------- green lawn clippings, lime, mucus, pear yellow rotten eggs, buttered popcorn blue toothpaste, blue berry orange vomit, peach brown canned dog food, chocolate white stinky socks, tutti-frutti, baby diapers, coconut 规则: 您可以假定输入将始终是输入选择中的一种颜色。 大小写和尾随空格和/或换行符无关紧要。 输出必须一致地是随机的:成功的程序执行必须产生不同的结果,并且列表中的所有口味获得给定口味的机会必须相同。 这是代码高尔夫球,所以最短的程序可能会赢!

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

7
挫败LZMA2压缩
目标 创建一个或多个程序以共同破坏和修复文件,以防止LZMA2有效工作。打扰和修复例程必须是相互的,因此您可以准确地恢复原始文件。 目标 以普通UTF-8格式收集的莎士比亚作品(5,589,891字节) Wikimedia Commons 2013年度全分辨率图片(1,659,847字节) 压缩方式 Ubuntu /相关: xz -kz5 <infile> 视窗: 7z.exe a -txz -mx5 <outfile> <infile> 其他:使用压缩级别5的LZMA2压缩器将莎士比亚作品压缩为1570550字节±100字节。 得分;总和(一切以字节为单位,ls -l或dir它): 程序的大小(可逆地“破坏” /修复文件所需的总和) 大小之间的差异(绝对值): 莎士比亚的原始作品集和经过修改(未压缩)的副本。 原始照片和修改(未压缩)的副本。 大小差异或0,两者之间的较大者: 莎士比亚原始作品集减去修改后的LZMA2压缩副本。 原始照片减去修改后的LZMA2压缩副本。 例 得分不高,懒惰但符合标准的Python 2.x示例: import sys x = 7919 if sys.argv[1] == 'b' else -7919 i = bytearray(open(sys.argv[2], 'rb').read()) for …

10
输出代码大小的Lorem Ipsum
输出与您的代码相同长度的Lorem ipsum! 规则: 代码不能与输出相同 没有压缩库 两周中最短的程序获胜 没有网络的使用,文件阅读等技巧与人们可以很容易地解决任何代码高尔夫球问题(与eval,exec等) 例 Your code with length 25. 输出量 Lorem ipsum dolor sit ame

1
为gzip文件编写一个压缩工具
这项挑战的任务如下: 编写一个程序,从stdin或其他任何地方(无论您喜欢什么,但不能对其进行硬编码)读取一个合理大小的文件(例如<16 MB),并将压缩后的输出放到stdout上。输出必须是有效的gzip压缩文件,并且如果该压缩文件通过gunzip运行,则它应产生与以前完全相同的文件。 规则 在比赛开始之前必须知道所使用的编程语言 程序的分数是源代码或汇编程序的字符数(以较短者为准) 您不得使用任何现有的压缩库。 玩得开心!

6
压缩RLE数据以绘制ASCII图形
这个问题是基于什么我想出了回答另一个问题。 有时,这里的问题要求画一些ASCII艺术。一种用于存储数据的简单方法是RLE(行程编码)。所以: qqqwwwwweeerrrrrtttyyyy 变成: 3q5w3e5r3t4y 现在,要画出很大的ASCII艺术,您可能正在获取如下数据(忽略换行符): 19,20 3(4)11@1$20 11@19,15"4:20 4)19,4:20 11@ ^^^ Note that this is "20 whitespaces" (Character count: 45) 用于ASCII艺术的字符永远不会是小写或大写字母或数字,而只能是符号,标记和符号,而总是在可打印的ASCII字符集中。 您想在该字符串中节省一些空间,所以用大写字符集替换数字(“ A”等于1,“ B”等于2,直到“ Z”等于26),因为您永远不会重复一个角色超过26次。这样就得到: S,T C(D)K@A$T K@S,O"D:T D)S,D:T K@ (Character count: 34) 最后,您注意到某些(letter + symbol)组正在重复,因此您将在字符串中出现3次或多次的组替换为小写字符集(按顺序或出现在字符串中,但将其存储在缓冲区中)进行替换(每次替换的格式为“ group + substitution char”),其余字符串保持原样。所以以下几组: S, (3 times) T (4 times) K@ (3 times) …

12
简单的州营业税计算器
至少可以说,美国的营业税很复杂。通常,有州销售税(有几个州不收取州销售税),但也可能有县级销售税,学区销售税,市政(市)销售税或大都市地区营业税。在城市的不同地区甚至可能会有不同的营业税。但是,出于这一挑战的目的,我们将只关注州销售税。 给定美元金额大于零(精确到小数点后两位)和状态(全名或两个字母的缩写,则选择,大小写无关紧要),并使用下面的销售税百分比表,输出该特定销售所需收取的相应州营业税,准确并截短至两位小数。请指定您的代码如何处理舍入。 编辑:华盛顿的缩写被错误地列出为WS而不是WA。答案可以使用任何一种缩写,因为那是我的愚蠢。 State Abbr % Alabama AL 4.00% Alaska AK 0.00% Arizona AZ 5.60% Arkansas AR 6.50% California CA 6.00% Colorado CO 2.90% Connecticut CT 6.35% Delaware DE 0.00% Florida FL 6.00% Georgia GA 4.00% Hawaii HI 4.00% Idaho ID 6.00% Illinois IL 6.25% Indiana IN 7.00% Iowa IA …

7
构造雅可比矩阵
取未知向量,并应用一些通用的微分函数。的雅可比然后通过矩阵给出,使得: 例如,假设m=3和n=2。然后(使用基于0的索引) 雅可比f然后 这个挑战的目标是打印这个雅可比矩阵。 输入值 你的程序/功能应该采取作为输入两个正整数m和n,其代表的部件的数目f和u分别。输入可以来自任何所需的来源(stdio,功能参数等)。您可以指定接收顺序,对于输入的答案必须一致(请在答案中指定)。 输出量 代表雅可比矩阵的东西。此表示形式必须明确拼出Jacobian矩阵的所有元素,但是每个术语的确切形式都是实现定义的,只要明确区分什么以及关于什么进行区分,并且每个条目均以逻辑顺序输出。用于表示矩阵的示例可接受形式: 列表列表,其中外部列表​​的每个条目都对应于雅可比行的一行,内部列表的每个条目都对应于雅可比行的列。 字符串或文本输出,其中每行是Jacobian行,每行中由定界符分隔的条目对应于jacobian的列。 矩阵的一些图形/视觉表示。示例:使用MatrixForm命令时Mathematica显示的内容 其他每个条目都已存储在内存中并且可以查询的密集矩阵对象(即,您不能使用生成器对象)。例如,Mathematica如何在内部表示Matrix对象 条目格式示例: 形式为的字符串d f_i/d u_j,其中i和j是整数。例如:d f_1/d u_2。请注意,d和f_1或之间的这些空格x_2是可选的。此外,下划线也是可选的。 形式为d f_i(u_1,...,u_n)/d u_j或的字符串d f_i(u)/d u_j。也就是说,功能组件的输入参数f_i是可选的,并且可以明确地拼写出来或以紧凑形式保留。 格式化的图形输出。例如:计算表达式时Mathematica会打印什么D[f_1[u_,u_2,...,u_n],u_1] 您可以选择起始索引u和目标索引f(请在答案中指定)。输出可以是任何所需的接收器(stdio,返回值,输出参数等)。 测试用例 以下测试用例使用约定m,n。索引显示为从0开始。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

25
计算相对论速度
在狭义相对论中,移动物体相对于另一个在相反方向移动的物体的速度由以下公式给出: s = v + u1 + v u / c2。s=v+ü1个+vü/C2。\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) 在这个公式中,和是物体速度的大小,是光速(大约是,对此非常接近挑战)。vvvüüuCCc3.0 × 108米/ 秒3.0×108米/s3.0 \times 10^8 \,\mathrm m/\mathrm s 例如,如果一个对象在移动v = 50,000 m/s,而另一个对象在移动u = 60,000 m/s,则每个对象相对于另一个的速度大约为s = 110,000 m/s。这就是您在伽利略相对论(速度简单地相加)下所期望的。但是,如果v …

2
ASCII迷宫压缩
挑战 设计一种专用于压缩ASCII迷宫的压缩算法。您将需要创建压缩算法和解压缩算法。您的分数将基于压缩迷宫的大小。 迷宫 这些迷宫主要是由字符(层), ,+,-,|和#(壁),并且恰好一个各自的^(开始)和$(结束)。它们也可能包含ASCII字母,这些字母算作地砖。出于此挑战的目的,迷宫不必一定可以解决,迷宫内容物的实际含义无关紧要。 + 将用于壁单元,其中至少有一个水平相邻的壁单元和至少一个垂直相邻的壁单元。 | 将用于壁单元,其中至少有一个垂直相邻的壁单元,但没有水平相邻的壁单元。 - 将用于壁单元,其中至少有一个水平相邻的壁单元,但没有垂直相邻的壁单元 # 仅用于与其他壁单元不正交的壁单元。 所有迷宫都是矩形的,但不一定具有规则的网格/墙对齐方式。 迷宫压缩 迷宫1 +----+---- | o | | | -- | o--+ | | | $ --^-+-+--- 迷宫2 +-----+---+ | a | | ^ +-+-+ # | | | | B | | | | --+ | …

30
输出一些保留字
对于计算机语言,保留字是不能用作标识符的字,例如变量,函数或标签的名称。对于其他计算机语言,可以将关键字视为语言说明的集合。 挑战 使用您选择的语言,使用所选语言编写代码,给定一个介于1到10之间的数字1<=n<=10,输出n所选语言的任何保留字(关键字)。 细节 如果选择的语言区分大小写,则输出的关键字也必须是区分大小写的。 如果所选语言不区分大小写,则输出的关键字在任何情况下都可以。 如果所选语言的关键词少于10个p,则代码必须输出和n之间的所有保留字。p10 如果可能,请在答案中指定是否将运算符视为关键字。 Java(JDK10)的可能示例 n=1 --> true n=3 --> try new interface n=4 --> continue this long break > <>的可能样本 n=1 --> > n=3 --> > < ^ n=4 --> > < \ / Brain-Flak的可能样本 n=1 --> ( n=3 --> ( ) [ ] n=9 …

1
最耐用的口袋妖怪类型
背景 这个问题与此类似。我已经提供了下面所有需要的信息。如果您熟悉其他挑战,请注意,我们正在对所有防御进行排名,而不是看到单个攻击的有效性。这很重要,因为这意味着这些表是彼此相反的,并且此挑战的目标是没有用户输入。 神奇宝贝中有18种类型: Normal Fighting Flying Poison Ground Rock Bug Ghost Steel Fire Water Grass Electric Psychic Ice Dragon Dark Fairy 宠物小精灵有一个或两个定义它们的独特类型(“类型组合”)。例如,Bulbasaur的类型组合为Grass / Poison(草和毒药两种),Charmander的类型组合为Fire(只有一种)。类型的顺序无关紧要(即草/毒物与毒/草相同)。 这些类型都有优点和缺点: 一个类型可以弱于另一个类型。火对水微弱。这导致火对水具有2倍的乘数。 一种类型可以抵抗另一种类型。水是耐水的。这导致水与水的乘数为0.5倍。 一种类型可以不受另一种类型的影响。飞行不受地面影响。这导致Flying对地面的乘数为0x。 其他任何东西都会收到标准的1倍乘数。法线对法线将导致1倍乘数就是一个例子。这些优势和劣势也可以复合或消除。例如,火对水弱,但是火/水双重类型对水具有1倍的乘数,因为火的弱将抵消水的抵抗力。有关完整表格和更多说明,请参见下文。 目的 这里的目标是输出所有类型组合的列表,按其防御能力的顺序排序,并列出它们的(抵抗力+免疫力)数量,弱点以及它们之间的比率。具体来说,排序顺序如下:(抗性+免疫性)与弱性比率最佳的类型组合首先列出,并且如果存在平局,则具有最高抗性和免疫性的类型组合将赢得平局。您可以通过任何方式生成此列表(一种明显的方法是针对每种类型组合进行类型有效性计算,但是如果这样做会使它更短,则可以在程序中存储预先计算或部分预先计算的输出。) 类型有效性表 有关人类可读的表格,请参阅Pokemon数据库。 注意:此列表的各列是我们正在考虑的内容。但以防万一,这是我在压缩的计算机友好有效性矩阵中考虑的表格。我已经将每个值乘以2,所以我们不必处理讨厌的小数: Attacking type (same order) Nor 222222422222202222 Fir 214211224221422211 D Wat 211441222222222212 e Ele 222122224122222212 f Gra …

2
编写一个GIF编码器
是的,很好的旧GIF。GIF因其多功能性而广受青睐,由于对其专利(和专利)的局限性而讨厌其专利,因此GIF的核心是调色板和使用LZW算法压缩的调色板索引图像。 您的任务是编写一个程序,该程序从标准输入读取ASCII PPM格式的图像(“ P3”幻数),然后将GIF格式的同一图像(逐像素相同)写入标准输出。输出可以是二进制形式,也可以是ASCII文本,每个字节由0到255(含)之间的数字表示,并用空格分隔。 确保输入图像的颜色不超过256种。 得分: 您的程序将在3个样本图像上进行测试,您的得分将计算为: 程序大小+总和(输出大小-每个样本图像的参考大小) 得分最低。 要求: 您的程序必须可以处理各种尺寸的任何相似种类的图像,并且不仅限于示例图像。例如,您可以将尺寸限制为2的倍数,或假设ppm最大颜色为255,但它仍应适用于各种输入图像。 输出必须是可以与任何兼容程序一起加载的有效GIF文件(如果使用ASCII输出选项,则转换回二进制文件之后)。 您不能使用任何图像处理功能(内置或第三方),您的程序必须包含所有相关代码。 您的程序必须可以使用免费软件在Linux中运行。 源代码只能使用ASCII字符。 样本图片: 这是将用于评分的3个示例图像。您可以下载包含ppm文件的zip存档(使用该页面顶部的下载按钮)。或者,您可以使用ImageMagick通过以下命令从下面的png图像中转换它们: convert file.png -compress none file.ppm 我还提供了ppm文件的MD5校验和以供确认。 1.琥珀色 参考大小 :38055 MD5 ppm校验和:d1ad863cb556869332074717eb278080 2.蓝眼睛 参考大小: ppm的28638 MD5校验和:e9ad410057a5f6c25a22a534259dcf3a 3.辣椒 参考大小: ppm的53586 MD5校验和:74112dbdbb8b7de5216f9e24c2e1a627

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.