Questions tagged «compression»

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

5
硬纸板压缩
在研究非回文式多语种Boggle时,我发现将代码尽可能有效地打包到Boggle板上非常繁琐,即使只有两个字符串也是如此。但是我们是程序员,对吗?我们知道如何使事情自动化。 给定一个字符串列表,您将生成一个Boggle面板,可以在其中找到每个字符串(独立于其他字符串)。挑战在于使Boggle板尽可能小。因为这(希望)是一项相当困难的任务,所以这是代码挑战:不需要最佳性-挑战是尽可能地做到这一点。 规则 防撞板将为矩形,并且仅包含大写字母。因此,输入字符串也将仅包含大写字母。 通常采用Boggle规则:如果从任何地方开始都可以反复移动到相邻的字符(水平,垂直或对角线)来找到字符串,则字符串是棋盘的一部分。要形成单个字符串,不能多次使用板上的任何单元格。但是,可以在不同的字符串之间重用字符。 您有30分钟的时间来处理测试数据,并且您的代码不得使用超过4 GB的内存。我会在内存限制上留一点余地,但是如果您的程序始终使用超过4 GB的内存或峰值明显超过该内存的峰值,我将(暂时)取消其资格。 我将在运行Windows 8的我自己的计算机上测试所有提交内容。我确实有Ubuntu VM,但是如果必须测试,则无法充分利用30分钟的时间。请提供指向您所选语言的免费解释器/编译器的链接,以及有关如何编译/运行代码的说明。 您的得分将是以下测试数据的Boggle面板的大小(不包括换行符)。在平局的情况下(例如,因为多个人设法提供了最佳解决方案),赢家将是更快地产生此最佳解决方案的提交者。 您一定不能针对测试数据专门优化代码。如果我怀疑有人这样做,我保留生成新测试数据的权利。 例 给定琴弦 FOO BAR BOOM 一旦可以将它们平凡地放在4x3的Boggle板上: FOOX BARX BOOM 通过利用字符串不必是直的这一事实,我们可以将其压缩为5x2: BORFO OMABO 但是,我们可以通过在不同字符串之间重用字符来使其更小,并将其放入4x2的字符串中: FOOM BARX 现在,B既用于BOOM和BAR,又OO用于BOOM和FOO。 测试数据 您的提交将在以下50个字符串上进行测试。出于测试目的,您可以仅使用此数据的较小子集,然后将其运行得更快。我相信,此测试数据的绝对下限是一个包含120个字符的面板,尽管这不一定可以实现。 T WP GVI CIHM EGWIV QUTYFZ LWJVPNG XJMJQWSW JLPNHFDUW SWMHBBZWUG XVDBMDQWDEV TIUGAVZVUECC IWDICFWBPSPQR MMNWFBGMEXMSPY YIHYXGJXKOUOIZA BZSANEJNJWWNUJLJ XTRMGOVPHVZYLLKKG FLXFVVHNTWLMRRQYFQ VZKJRAFQIYSBSXORTSH …

2
阻碍勒普顿压缩
Dropbox最近发布了Lepton(GitHub),该方法可无损地压缩JPEG图像往返,平均节省22%。 由于信鸽原理,不能保证任何常规的压缩算法都会导致文件更小(一般是因为它不适用于限制为特定格式的输入)。Lepton充分利用了JPEG的共同特征,如果这些特征被颠覆了,可能会导致其产生比源更大的文件。 要求 编写一个生成以下内容的程序: 有效的JPEG / JFIF图像, 大小介于0.5 MB和1 MB之间, 不小于256×256 px, 不大于4096×4096像素, Lepton可以识别(它可以成功地“压缩”为.lep图像),并且 解压缩为相同的 .jpg(作为输入)。 APPx,COM以及其他元数据,非图形标记部分在JPEG中受到限制(向图像中注入任意数量的随机字节以渐近地接近1:1压缩是la脚的。) 允许使用APP0JFIF标记,但不允许使用缩略图(应为16个字节) tl; dr如果您不是故意将元数据推入EXIF段中,并且禁用了您希望选择的语言库想要放入图像的任何缩略图,那应该没问题。 发布代码和图像。 如果要编写一个生成Lepton图像的程序,该程序在转换时会产生符合条件的JPEG,那就很好。在任意多个JPEG→轻子→JPEG→...循环中,它必须保持相同。 计分 Lepton图像的字节大小除以源JPEG图像。更高(更轻的Lepton压缩)更好。使用默认标志和开关运行Lepton。 到达莱普顿 5秒钟的速成课程来构建Lepton: git clone https://github.com/dropbox/lepton.git cd lepton ./autogen.sh && ./configure && make # fish shell: ./autogen.sh ;and ./configure ;and make 那./lepton --help应该告诉你的事情。

2
垄断压缩
给定代表玩家回合开始时大富翁游戏当前状态的字符串,请将所有必要的数据压缩到最小的输出中。答案将根据输出大小和源大小来判断。 注意:有许多区域差异,但本文中对属性名称等的所有引用均基于此板。 输入: 输入将作为一个;单独的字符串给出。该字符串以您选择的语言中惯用的任何方式提供给程序,无论是stdin,参数等。 未格式化的输入如下所示: numPlayers (1 to 8) whose turn (0 to numPlayers-1) for each player: bankrupt? (true/false) money (0 to 2^16-1) get-out-of-jail-free cards (0 to 2) position (0 to 39) jail turns (-1 to 2) for 28 properties: owner (-1 to numPlayers-1) mortgaged? (true/false) improvement level (0 to …

7
发送宇宙电话
在宇宙呼叫是在1999年和2003年送入太空的消息它是由23幅127 * 127px的单色位图图像,详见这里。 您的任务是编写一个程序,以文本(由零,一个和换行符组成)或图像(在屏幕上绘制或保存在磁盘上)显示整个127 * 2921px消息。获奖者分为两类:一类是文本输出,一类是图像输出。 除常见漏洞外,所有技巧都允许。 允许单独输出23页。 最多可以编写23个程序(例如每页一个),并对其大小求和以确定分数。 最多可以与您的程序一起使用23个二进制文件。他们的体重计入您的分数。 最短的代码(以字节为单位)获胜。 每像素1位,图像包含127 * 127 * 23/8 = 46370字节+ 7位数据。(警告:如果将像素值存储到46371字节,则不允许输出额外的零) 文本输出允许尾随换行符/空格。 除了宇宙调用的黑色像素以外,视觉输出不能包含任何黑色像素。可以将其绘制在一列中(顺序正确),也可以分成23张图像,也可以将其动画化(例如gif),也可以正确顺序排列。 附件:文本输出和图像输出以重现:

4
回文压缩
挑战 编写一个无损压缩和解压缩ASCII文本的程序。它应该专门用于与回文症(包括不区分大小写和标点符号不敏感的回文)一起使用。以最小的源获得最好的压缩效果。 计分 total_bytes_saved / sqrt(program_size) -最高分获胜 total_bytes_saved压缩后的字符串比原始字符串小多少字节,在下面的测试用例中总计。program_size是压缩和解压缩程序的源代码的字节大小。两者之间共享的代码只需计算一次。 例如,如果有10个测试用例,并且一个100字节的程序在7个测试用例上保存了5个字节,而在其中2个上每个保存了10个字节,但是最后一个测试用例长了2个字节,则该解决方案的得分为5.3。((7 * 5 + 10 * 2 - 2) / sqrt(100) = 5.3) 测试用例 tacocat toohottohoot todderasesareddot amanaplanacanalpanama wasitacaroracatisaw? Bob IManAmRegalAGermanAmI DogeeseseeGod A Santa at NASA Go hang a salami! I'm a lasagna hog. 规则 有标准漏洞。 压缩必须适用于所有可打印的ASCII(包括32-126字节,包括字节)文本字符串,而不仅仅是回文。但是,它实际上不必节省任何输入的空间。 输出可以是任何字节或字符序列,无论其实现方式或内部表示形式如何(例如,字符串,列表和数组都是公平的游戏)。如果编码为UTF-8,请计算字节数,而不是字符数。除非可能使用的唯一代码点在0到255之间,否则不允许使用宽字符串(例如UTF-16或UTF-32)。 不允许使用压缩/解压缩内置函数。 为了我们自己的乐趣,请将压缩的字符串与您的源代码一起发布。 更新1:将得分从更改total_bytes_saved / …

3
洞穴,惠勒和背部
背景 在Burrows-Wheeler变换(BWT)是一个字符串的字符的可逆置换的结果在对某些类型的字符串如纯文本相似字符大运行。例如,它在bzip2压缩算法中使用。 BWT定义如下: 给定一个输入字符串,例如codegolf,计算它的所有可能的旋转并将它们按字典顺序排序: codegolf degolfco egolfcod fcodegol golfcode lfcodego odegolfc olfcodeg 字符串的BWT codegolf是由该字符串的每个字符的最后一个字符组成的字符串,即该块的最后一列。因为codegolf,这产生了fodleocg。 就其本身而言,这种转换是不可逆的,因为字符串codegolf和golfcode导致相同的字符串。但是,如果我们知道字符串以结束f,则只有一个可能的原像。 任务 实现一个渐进式程序或函数,该程序或函数从STDIN读取单个字符串,或者作为命令行或函数参数读取并打印或返回BWT或它的输入字符串的倒数。 如果输入字符串不包含空格,则您的提交应在输入后附加一个空格并计算BWT。 如果输入字符串已经包含一个空格,则它应该计算具有尾随空格的BWT的原像,并去除该空格。 例子 INPUT: ProgrammingPuzzles&CodeGolf OUTPUT: fs&e grodllnomzomaiCrGgPePzu INPUT: fs&e grodllnomzomaiCrGgPePzu OUTPUT: ProgrammingPuzzles&CodeGolf INPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< OUTPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R INPUT: <#Q6(LFksq*MD"=L0<f^*@I^;_6nknNp;pWPBc@<A^[JZ?\B{qKc1u%wq1dU%;2)?*nl+U(yvuwZl"KIl*mm5:dJi{\)8YewB+RM|4o7#9t(<~;^IzAmRL\{TVH<bb]{oV4mNh@|VCT6X)@I/Bc\!#YKZDl18WDIvXnzL2Jcz]PaWux[,4X-wk/Z`J<,/enkm%HC*44yQ,#%5mt2t`1p^0;y]gr~W1hrl|yI=zl2PKU~2~#Df"}>%Io$9^{G_:\[)v<viQqwAU--A#ka:b5X@<2!^=R`\zV7H\217hML:eiD2ECETxUG}{m2:$r'@aiT5$dzZ-4n)LQ+x7#<>xW)6yWny)_zD1*f @F_Yp,6!ei}%g"&{A]H|e/G\#Pxn/(}Ag`2x^1d>5#8]yP>/?e51#hv%;[NJ"X@fz8C=|XHeYyQY=77LOrK3i5b39s@T*V6u)v%gf2=bNJi~m5d4YJZ%jbc!<f5Au4J44hP/(_SLH<LZ^%4TH8:R OUTPUT: bt4{2UK<({ZyJ>LqQQDL6!d,@:~L"#Da\6%EYp%y_{ed2GNmF"1<PkB3tFbyk@u0#^UZ<52-@bw@n%m5xge2w0HeoM#4zaT:OrI1I<|f#jy`V9tGZA5su*b7X:Xn%L|9MX@\2W_NwQ^)2Yc*1b7W<^iY2i2Kr[mB;,c>^}Z]>kT6_c(4}hIJAR~x^HW?l1+^5\VW'\)`h{6:TZ)^#lJyH|J2Jzn=V6cyp&eXo4]el1W`AQpHCCYpc;5Tu@$[P?)_a?-RV82[):[@94{*#!;m8k"LXT~5EYyD<z=n`Gfn/;%}did\fw+/AzVuz]7^N%vm1lJ)PK*-]H~I5ixZ1*Cn]k%dxiQ!UR48<U/fbT\P(!z5l<AefL=q"mx_%C:2=w3rrIL|nghm1i\;Ho7q+44D<74y/l/A)-R5zJx@(h8~KK1H6v/{N8nB)vPgI$\WI;%,DY<#fz>is"eB(/gvvP{7q*$M4@U,AhX=JmZ}L^%*uv=#L#S|4D#< INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa INPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OUTPUT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa …

1
计数坎宁安链
素数总是让人着迷。2300年前,欧几里得在他的《元素》中写道 质数是仅由一个单位测量的质数。 这意味着素只能被 1(或本身)。 人们一直在寻找素数之间的关系,并提出了一些非常奇怪的东西(如“有趣的”)。 例如,一个索菲·热尔曼质数是一个主要p针对2*p+1也是素数。 一个安全素是一种主要p用于哪些(p-1)/2也是黄金,而这正是一个索菲·热尔曼质数的倒退状态。 这些与我们在此挑战中寻找的东西有关。 一个坎宁安链型我是一系列素数,其中除了最后一个的每一个元素是的索菲·热尔曼质数,而除了第一个的每一个元素是一个安全的黄金。该链中元素的数量称为它的length。 这意味着我们从素数开始p计算q=2*p+1。如果也q为质数,则我们有长度为2的I型Cunnigham链。然后进行测试2*q+1,以此类推,直到下一个生成的数字为复合数为止。 II型坎宁安链是按照几乎相同的原理构造的,唯一的区别是我们检查了2*p-1在每个阶段。 坎宁安链的长度可以为1,这意味着2 * p + 1和2 * p-1都不是素数。我们对这些不感兴趣。 坎宁安链的一些例子 2启动长度为5的I型链。 2, 5, 11, 23, 47 下一个构造的数字95不是素数。 这也告诉我们,那5,11,23和47不启动类型的任何链我,因为这将有前述的元素。 2也开始长度为3的II型链。 2, 3, 5 接下来是9,这不是素数。 让我们尝试II11型(之前我们将其排除在I型之外)。 好吧,接下来是下一个,它不是素数,因此该“链”的长度为1,我们不将其计入此挑战。21 挑战 写一个程序或功能,给定一个号码n作为输入,写入/返回的起始数第n个的坎宁安链I或II型的至少长度为2,后跟一个空格,随后链的类型它开始(我或II),然后是冒号,然后是该类型链的长度。万一素数同时启动两种类型的链(类型I 和型 II型),则首先计算型链。 例: 2 I:5 请记住,这n可能是任何类型的先前启动链的一部分,在这种情况下,不应将其视为该类型链的起始编号。 让我们看看这是如何开始的 我们从开始2。由于它是第一个素数,因此我们可以确定没有链从包含的较低素数开始2。 类型I中的下一个数字将是2*2+1 == 5。5是素数,因此我们已经有了至少长度为2的链。 我们将其视为第一条链。那II型呢?下一个号码是2*2-1 == 3。3是素数,因此II型的链长也至少为2。 …

4
实现bzip2的行程编码
背景 应用BWT(在Burrows,Wheeler和Back中看到)和MTF(在Move到可打印的ASCII front中看到)之后,bzip2压缩器应用了一种相当独特的游程长度编码形式。 定义 出于这一挑战的目的,我们将转换BRLE定义如下: 给定仅包含ASCII字符且代码点在0x20和0x7A之间的输入字符串s,请执行以下操作: 用单次出现的字符替换每次运行的相等字符,并在第一个字符之后存储重复次数。 使用双射基数2以及符号和和对字符首次出现后的重复次数进行编码。{} 非负整数n被编码为字符串b k …b 0,使得n = 2 k i(b k)+ ... + 2 0 i(b 0),其中i({)= 1和i(})= 2。 请注意,此表示始终是唯一的。例如,数字0被编码为空字符串。 插入大括号字符串,该字符串编码相应字符单次出现后的重复次数。 分步示例 Input: "abbcccddddeeeeeffffffggggggghhhhhhhh" Step 1: "abcdefgh" with repetitions 0, 1, 2, 3, 4, 5, 6, 7 Step 2: "" "{" "}" "{{" "{}" …

2
创建最少可压缩的图片
“一幅画值得一千个单词” —俗话说得好。平均单词长约四个字符,因此图像传达了4kB的信息。但是,图片可以传达多少熵而不是信息? 您的任务是生成一个图像,该图像的大小恰好为4,000字节,并且具有最大的熵。您可以使用选择的任何语言,库或图像格式,并且只要您在此处上传图像,就可以输出到控制台或文件。 计分 您的分数是使用DEFLATE算法和默认设置(特别是命令)以GNU tar1.28 gzip版和1.6 版压缩图像时的压缩率(4000÷压缩大小)tar -czvf out.tar.gz image。最小的压缩比获胜。

4
使用算术表达式表示给定大整数的策略
我有一个特定的数字,但这是我正在面临的挑战的一部分,并且我不希望人们为我做(所有)工作。 这是一个具有相同数字但乱序的数字: 5713167915926167134578399473447223554460066674314639815391281352328315313091488448321843 8892917486601064146636679920143691047671721184150386045081532202458651561779976236919751 5521854951599379666116678853267398393892536121049731949764192014193648608210652358947001 6332620900065461061195026191178967128001712341637591690941978871368243245270800684616029 6679555942849366434586090627998161441134473428845367022486230724219981658438108844675033 4461550796750244527407413996606134735852639191026103378962082622204359677030054592798927 4145951979523473408718011778751084514127053772614511042703365596651912104541233491744530 87457854312602843967491787086250478422477028164189 该数字有666位数字(十进制)。因为我使用的是Python,所以整数(或从技术上讲是long)会自动为bignums。 我有255个字符,需要描述相同的数字。该描述旨在通过eval()运行以产生原始编号。 我应该考虑什么策略?

3
Brainfuck中的按位运算符
您的任务是为以下每个二进制运算符创建一个Brainfuck程序。每个程序应从输入中获取一个或两个8位数字(A和B)并计算指定的运算: A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 您不必全部实施5。得分的计算方式为: #totalCharacters + {4000 * #problemsNotCompleted} 因此,有效分数是从零(最佳)到20,000(未完成)。 我不在乎您将结果存储在哪里,也不管您是否保留输入。假设8位单元以及仅在右侧需要的空单元数。 您可能会认为数字已经在最适合您的任何内存位置中,因此您无需担心IO操作。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

14
用零填充文件
今天的任务是获取一个现有文件,并将零添加到该文件,直到达到一定大小为止。 您必须编写一个程序或函数,该程序或函数采用当前目录中文件的名称f和字节数b。在保留的原始内容的同时f,您必须在末尾写入零(空字节,而不是ascii 0),以便其新大小为b字节。 您可以假设名称中f仅包含字母数字的ascii,您对此具有完全权限,其初始大小不大于b,但可能与一样大b,并且有无限的可用磁盘空间。 您可能不会假设f它是非空的,或者它不已经包含空字节。 执行结束后,不应修改其他现有文件,也不应该存在新文件。 测试用例 f的内容| b | f的结果内容 12345 | 10 | 1234500000 0 | 3 | 000 [空] | 2 | 00 [空] | 0 | [空] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

5
实施网址缩短器
网址太长。因此,您必须实现一种缩短URL的算法。 一世。URL的结构 URL有两个主要部分:域和路径。域是第一个斜杠之前的URL的一部分。您可以假定URL不包含协议。道路就是一切。 ii。领域 URL的域将类似于:xkcd.com meta.codegolf.stackexcchhannnge.cooom。每个部分都是按周期分隔的,例如在中blag.xkcd.com,这些部分是“ blag”,“ xkcd”和“ com”。这是您将要执行的操作: 如果它包含两个以上的部分,则将最后两部分放在一边,并连接其余部分的第一个字母。 然后,将其连接到第一个字母到倒数第二个字母。 添加句号以及倒数第二部分的第二个和第三个字母。 丢弃最后一部分。 iii。路径 路径将类似于:/questions/2140/ /1407/。和以前一样,“部分”由斜杠分隔。对于路径中的每个部分,请执行以下操作: 加上斜线 如果它完全由十进制数字组成,则将其解释为数字并转换为36进制整数。 否则,添加零件的第一个字母。 最后,添加一个斜线。 iv。杂项 这是代码高尔夫球,因此最短的代码获胜。 路径可以为空,但URL始终以斜杠结尾。 不会有一个协议(例如http://,file:///) 域中永远不会少于两个部分。 有标准漏洞。 例子 进:xkcd.com/72/ 出:x.kc/20/ 进:math.stackexchange.com/a/2231/ 出:ms.ta/a/1pz/ 进:hello.org/somecoolcodeintrepreteriijjkk?code=3g3fzsdg32,g2/ 出:h.el/s/

1
无损英语文本压缩挑战[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 4年前关闭。 挑战: 您面临的挑战(您应该选择接受它)是压缩和解压缩5MB的“ 威廉·莎士比亚全集 ”,如下所示:http : //www.gutenberg.org/cache/epub/100/pg100.txt (MD5: a810f89e9f8e213aebd06b9f8c5157d8) 规则: 您必须STDIN通过STDOUT... 输入和通过... 输出 ...并且您必须为输入提供相同的解压缩结果。 (也就是说,您必须能够获得cat inpt.txt | ./cmprss | ./dcmpress | md5和上面相同的 MD5。) (任何via STDERR都将被丢弃。) 您的总源代码必须使用少于2048个字符。 (这是不是代码高尔夫球场。你是不是是基于源代码的长度进球了。这是只是一个让事情变得有限规则。) (如果已拆分,请采用所有源代码的串联长度。) 您还必须能够(理论上)处理类似的纯文本输入。 (例如,硬编码仅能输出所提供的莎士比亚输入的机制是不可接受的。) (其他文档的压缩大小无关紧要,只要解压缩的结果与替代输入相同即可。) 您可以使用任何一种或多种语言。 (例如,随时使用进行压缩awk和进行解压缩java) 您可以编写两个单独的程序,也可以根据需要将它们与某种形式的“开关”组合在一起。 (必须清楚演示如何调用压缩和解压缩模式) 您不得使用任何外部命令(例如,通过exec())。 (如果您使用的是外壳语言,对不起。您必须使用内置的语言。欢迎您发布“不可接受的”答案,以便分享和享受,但不会被评判! ) 您不得使用任何内置功能或库提供的功能,这些功能的目的是压缩数据(例如gz,等) (在这种情况下,更改编码不视为压缩。在这里可以酌情采取一些措施。请在提交中随意争论您的解决方案的可接受性。) 如果选择参加,请尝试玩乐! 所有好的比赛都有获胜的客观定义;因此 如果遵守所有规则,则最小的压缩输出(以STDOUT字节为单位)将获胜。 (请通过报告您的输出./cmprss | wc -c) 在平局的情况下(相同的输出大小),大多数社区会投票赞成获胜。 …

1
有效迷宫数
给定一个WxH网格,有多少种可能的迷宫? 您对迷宫的了解: 网格正好是H正方形,W正方形是正方形。 共有三种类型的正方形:“开始”,“完成”和“空”。迷宫必须正好包含1个开始点和1个结束点,所有剩余的方块均为空。 整个迷宫周围都有墙壁。 除非违反以下规则,否则墙可以存在于任意两个正方形之间的边缘上: 从开始方块到完成方块必须存在一条路径。 因此,给定两个数字W和H,您必须返回一个数字,代表可能的正方形/墙壁配置的数目。您保证W*H > 1 例如,2x2迷宫具有完全100不同的可能配置。 这是一个代码高尔夫球,所以最短的答案是成功的!

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.