Questions tagged «popularity-contest»

人气竞赛是一项竞赛,其中得分最高的投票(赞成票减去反对票)获胜。由于这些标签经常关闭,请阅读标签信息,然后将您的挑战发布到沙盒中。

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

27
8应该成为无穷大[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 让我们看一个典型的循环,该循环通常执行8次迭代: for (int x=0; x<8; ++x); 您必须使其无限! 对于所有支持这种循环形式的语言,这都是一场流行竞赛for。因此,得分最高的解决方案(支持率减去支持率)将获胜。 如果您的语言有其他for循环形式,但是您可以肯定,可以用它来做些很酷的事情,可以随时发布答案并将其标记为不竞争。我保留扩大可用结构和语言范围的权利,但绝不会缩小,因此不要担心放弃以前正确的解决方案。 什么是解决方案? 解决方案由两个程序组成。 第一个程序是干净程序。这是您语言中的典型程序,for循环进行8次迭代。它应该是普通程序,任何开发人员都可以编写。没有用于准备目的的任何特殊技巧。例如: int main() { for (int x=0; x<8; ++x); return 0; } 第二个程序被增强。该程序应包含干净程序中的所有代码以及一些其他代码。扩展点数量有限,有关详细信息,请参见完整规则部分。上面一个干净的增强程序可以是 inline bool operator < (const int &a, const int &b) { return true; } int main() { for (int x=0; x<8; ++x); return …

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

4
森林-一个模拟的生态系统
注意 这个问题来自这个reddit线程(剧透警报!),我已经对其进行了调整以使其适合本网站的格式。所有功劳归给reddit用户“ Coder_d00d”。 在这个问题中,我们将模拟一个森林。 对于这个模拟森林,我们将处理3个方面。 树木可以是幼树,树木或老树。 伐木工人(他砍倒树木,吃午饭,去熔岩尝试) 熊(他虐待闻起来像薄煎饼的伐木工人) 警告:这些规则很可能并不完美。请将其作为准则,如果您需要进行一些细微调整(已指出产卵率是一个问题,请参见kuroi neko的答案作为示例)。 时间周期: 模拟将按月进行模拟。您将通过“打勾”及时前进。每个“刻度”代表一个月。每12个“滴答声”代表一年。我们的森林将不断变化,并且将不断变化。我们将记录森林的进度并分析其发生的情况。 森林: 森林将是一个二维森林。我们将需要输入N来表示N×N大小的网格中森林的大小。在每个位置都可以容纳树木,熊或伐木工人。它们可以占据相同的位置,但是当它们占据相同的位置时,经常会发生事件。 我们的森林将根据大小随机生成。例如,如果您的N值为10,则将有10 x 10的森林和100个斑点。 10%的森林将在10个随机地点举行伐木工人。(使用我们的100个现货森林,应该是10个伐木工人) 50%的森林将在任意位置保留树木(树木可以是3种中的一种,并且将从“树木”的中间一种开始)。 2%的森林将容纳熊。 如何获得林的大小取决于您(从stdin,文件中读取或对其进行硬编码)。我建议保持N等于5或更高。小森林没什么好玩的。 大事记: 在模拟过程中将发生事件。这些事件是根据一些逻辑发生的,我将在下面进行解释。我将在以下每个事件中对森林的3个元素进行描述。 这些事件首先遵循树木的顺序,其次是伐木工人,最后是熊。 树木: 每个月,一棵树都有10%的机会生成一个新的“树苗”。在与树相邻的随机开放空间中,您有10%的机会创建“树苗”。 例如,森林中间的一棵树在其周围还有其他八个点。其中之一(如果为空)将成为“树苗”。 存在12个月后,“树苗”将升级为“树”。“树苗”在成熟为“树”之前,无法生成其他树。 一旦“树苗”变成一棵树,它就可以生成其他新的“树苗”。 当一棵“树”已经存在了120个月(10年)时,它将变成“老树”。 老树有20%的几率生成一个新的“树苗”,而不是10%。 如果树或老树没有开放的相邻点,则不会产生任何新的树。 伐木工人: 伐木工人砍伐树木,跳跃和跳跃,喜欢压野花。 伐木工人每个月都会流浪。它们最多可移动3次到任意方向相邻的随机选择的点。因此,例如,网格中间的伐木工人有8个位置可以移动。他将漫步到一个随机地点。然后再说一次。最后第三次。注意:这可以是任何地点(这样它们就可以走进熊,从而造成大槌)。 伐木工人移动时,如果遇到一棵树(不是树苗),他将停下脚步,并停止在该月的游荡。然后,他将采伐树木以砍伐木材。移除树。获得1块木材。 伐木工人不会收获“树苗”。 伐木工人也收获老树。老树值得两块木材。 木材追踪: 每12个月将伐木量与森林中伐木工人的数量进行比较。 如果收集的木材等于或超过森林中伐木工人的数量,则会雇用许多新的伐木工人,并在森林中随机产卵。 计算出要雇用的伐木工人的数量: floor(lumber_collected / number_of_lumberjacks) 但是,如果12个月后收集的木材数量低于伐木工人的数量,则放开伐木工人以节省金钱,并从森林中移除1名随机伐木工人。请注意,您绝不会将伐木工人的劳动力减少到0以下。 熊: 熊像伐木工人一样在森林中漫步。但是,熊最多可以漫游5个空间,而不是3个空间。 如果熊碰到伐木工人,他将在一个月内停止游荡。(例如,在2次移动之后,熊与一名伐木工人一起降落在一个空间上,他本月将不再进行任何移动) 伐木工人闻起来像薄煎饼。熊爱煎饼。因此,不幸的是,熊会ma伤并伤害伐木工人。伐木工人将从森林中移走(他将在星期三回家购物,并用黄油烤饼烤茶)。 …

3
手绘红色圆圈
在http://meta.stackoverflow.com上,我们有一些模因。其中之一是手绘红色圆圈。 看到这个帖子: 因此,挑战在于 可以用代码绘制手绘红色圆圈吗? 其他限制: 您将以图像作为输入,并且必须在输出的图像上添加手绘红色圆圈。 必须是可预测的,即相同的图像输入必须导致相同的输出。您可以使用随机性,但相同输入的结果必须一致。 输出必须与输入完全相同的图像,除了带圆圈(没有其他更改)。 徒手绘制的红色圆圈必须看起来徒手(没有完美的圆圈!),必须是红色的(显然),并且通常看起来像一个圆圈(没有随机的波浪线)。 这是一场人气竞赛,因此,在2014年3月开始投票最多的答案将获胜。除“手绘红色圆圈”外,没有其他具体目标,因此请尽可能发挥创意,以使您获得最多的投票!(为了尽可能保持公正,我将对遵循规则的所有答案进行投票。)

9
ASCII ART边缘检测
就像标题所说的那样,我正在考虑要竞争一种必须检测ASCII艺术的边缘的问题。 该代码应接受黑白ASCII码作为输入。甲乙/ W ASCII技术被定义为(由我)的ASCII技术只有一种非白色空格字符的(在我们的情况下:一asteriks *)。并作为输出产生标准ASCII技术(所有ASCII字符被接受的)应该记住所述第一的contourn。 在输出中使用多个字符的目的是使某些边缘更平滑。例如,可以让这一输入 *** **** ****** ****** ****** ****** **** *** 可能变成: ___ _/ ) _/ / / | | / | \ \ | `\ | \___) 输入\n分隔的字符串作为输入。每行最多包含一个80字符。未指定行数。 这是我的示例Python3程序: import fileinput as f import re as r import copy as c a,s,p='*',' ','+' def read(n): s=[list(' …

6
意外外观但导致崩溃的错误[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 3年前关闭。 关于这个概念有很多问题,但是这些问题似乎都只是导致崩溃,导致产生了很多很显然是导致崩溃的答案。因此,我所面临的挑战是编写一些似乎合理的代码(尽管我认为代码应该由您自己承担)会导致整个目标操作系统崩溃,或者使自身崩溃,而这并不是立即显而易见的。(我认识到“立即显而易见”是主观的,但希望所面临的挑战仍然是合理的)。 获胜者是5天后获得最多票数的答案。

10
创建编程语言解释器
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 3年前关闭。 任务: 您必须创建一个可以解析编程语言摘要的解释器。该语言不必很复杂,但必须包含以下语法元素: 分配和读取变量的能力(可以很简单a- z是预制变量) If语句(不需要elseif和else) 循环(计数为任意数字,不需要用户访问计数器) 带有变量(加,减,乘,除,大于/小于,等于)的简单数学 打印报表 规则: 您不得复制其他流行语言的语法。 您需要编写自己的解释器,而无需修改其他解释器。 您可以使用任何语言编写口译员。 用您的语言编写一个99瓶啤酒的示例程序(请参阅此处) 这是一场人气竞赛,因此最受好评的答案胜出。

15
编写一个函数,告诉您删除了哪两行
在上一个代码挑战中,我要求您编写一个函数来告诉您哪些行已被删除。 说明是: 编写一个包含五行的函数。 如果按原样运行该函数,则应返回0。 如果您删除了五行中的任何一行并运行该函数,它应该告诉您哪些行已被删除(例如,如果您删除最后一行,则应返回5)。 现在,让我们尝试一些更加困难的事情。 遵循与上述相同的规则,但是这次,函数应返回一个数组,告诉您已删除了两行。 因此,例如,如果我删除第1行和第5行,则返回值应为[1,5],如果我删除第3行和第4行,则返回值应为[3,4]。 同样,如果没有删除任何行,则该函数应返回0。如果您还可以处理删除了一行的情况,则奖励积分,但并非必须这样做。 可以使用辅助功能吗?是的,但前提是您必须这样做。理想的选择是一个独立的功能。 与上一个挑战一样,获得最高支持的解决方案将获胜。我会在一周内选出优胜者;如果24小时内未收到任何新的作品,我会尽快选出。

15
g o l f a t 2
有时将笛卡尔坐标转换(x,y)为极坐标确实很费力(r,phi)。虽然你可以计算r = sqrt(x^2+y^2)很容易,你经常计算时的角度需要的情况下有些区别phi,因为arcsin,arccos以及arctan和所有其他三角函数有一个共同域,每个只有跨越半个圆。 在许多语言中,都有用于将直角坐标转换为极坐标的内置atan2函数,或者至少具有给定的(x,y)计算角度的函数phi。 任务 你的任务是写一个程序/功能采用两个(浮点,但不能同时为零)笛卡尔坐标(x,y),并输出对应的极角phi,其中phi必须处于度,弧度或等级(与等级余平均gradians其是1 /整圆的400),以您较方便的为准。 角度是在正方向上测量的,对于,我们有零角度(1,0)。 细节 您不得使用内置插件是计算角度phi给出两个坐标,其中包括atan2,rect2polar,argOfComplexNumber和类似的功能。但是,您可以使用通常的三角函数及其反函数,它们只需一个参数。任何单位符号都是可选的。 半径r必须为非负数,并且phi必须在范围内[-360°, 360°](无论输出270°还是,都无关紧要-90°)。 例子 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

4
一周中压缩的天数
输入星期几列表,则输出列表中最短的排序表示形式。 输入的格式是由一个或多个双字符子串的字符串Su(星期日), Mo(星期一), Tu(等), ,We,Th, Fr和Sa。输入不一定必须以排序的顺序给出。 要将输入转换为输出格式, 从星期天开始按星期几对输入进行排序(例如ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 如果不引起歧义,请将缩写词减少到一个字母。例如,之所以SuMoTuWe成为,SMTW是因为第一个S不可能在星期六,因为这样会使输出未排序(与T相同)。但是,ThFrSa应该成为ThFS,因为星期二和星期四都在星期五之前,并将其减小以TFS产生歧义。 如果输出为now MTWTF,则D改为输出(代表“ 工作日 s”)。同样,SS应该成为E一周结束。最后, SMTWTFS应该成为A对所有天。 输入和输出都必须是单个字符串。 由于这是code-golf,因此以字节为单位的最短代码为准。 测试用例: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu …

2
字符串到图像
一点背景: 当我第一次了解Brainf * ck时,我做的第一件事就是编写一个Java应用程序,该程序将接收一个字符串并创建一个经过某种程度优化的程序来打印该字符串。 最近,我一直在和Piet玩耍,并且一直在做同样的事情。我已经认识到Piet是一种相当有趣的语言,为这项挑战增添了一些力量。 因此,我想向SE的朋友们挑战。让我们看看您可以用这种语言做什么。 挑战 编写一个程序或函数,该程序或函数需要一些非空的ASCII字符字符串。处理该字符串,以便生成一个Piet程序,该程序将打印该字符串并终止。 输出是最适合您的任何格式的Piet源图像。PNG是首选,但不是强制性的。 Piet功能可以在这里进行测试。 Piet代码必须自己生成输出字符串。不允许用户输入。 只能使用Piet认可的颜色,如下所示: 由于这是一次人气竞赛,因此优胜者将通过投票选出。领带将被源代码的大小打破。 我将根据输出图像的创造力酌情授予奖励积分。这些毕竟是图片。

8
经典证明谬误[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 3年前关闭。 的背景 因此,我们都知道像这样的经典证明: A = B A²= AB A² -称b²= AB -称b² (AB)(A + B)= B(AB) (A + B)= B B + B = 2B = B 2 = 1(呵呵!) 中当然,错误是您不能被0除。由于a = b,a-b = 0,所以存在被0除的隐藏除法。 挑战 您必须复制此证明。首先,声明两个相等的整数a和b(不管它们叫什么)。然后将aMod和bMod声明为a和b的可修改版本,并分别最初等于a和b。您必须将它们都乘以a,然后从两者中减去b * b。然后必须除以a-b,然后除以b(或a)才能得到。然后,打印出aMod和bMod之间带有等号。 人手不足 当然,由于您声明a和b相等,所以a-b = 0,然后除以0会导致错误。因此,您必须创造性地伪造它。另外,由于您要复制证明,因此打印时aMod和bMod上所有操作的结果均不得相等。他们不必精确地等于2和1,只要两个数字不相等即可。 …

4
计算实际数字
定义 正整数n是一个实际数字(OEIS序列A005153),前提是所有较小的正整数都可以表示为的不同除数之和n。 例如,18是一个实际数字:其除数为1、2、3、6、9和18,小于18的其他正整数可以形成如下: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + 9 12 = 3 + 9 = 1 + 2 + 9 = 1 + 2 + 3 …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

17
构建不存在的语言的解释器
为假的,基于堆栈的语言构建解释器,该解释器获取输入,解释输入并将结果输出为数字数组。它应该遍历每个字节并根据此表执行不同的功能: 0000(0):串联(将堆栈中的前两个数字组合起来,就好像它们是字符串一样。例如:12,5-> 125) 0001(1):递增(在堆栈顶部的数字加1) 0010 (2):递减(从堆栈顶部的数字减去一个) 0011(3):乘以(堆栈的顶部两个数字相乘) 0100(4):除(将第二个到顶部的数字除以在堆栈顶部的数字) 添加(添加顶部的堆栈两个数字上):0101(5) 0110(6):减去(减去栈顶的数目从所述一个在其下方) 0111(7):指数(计算从小数到小数到大数的乘方) 1000(8):模数:(以小数为模,找到从小到大的数) 1001(9):向右旋转(将堆栈向下移动一格。底部的数字现在位于顶部) 1010(A):向左旋转(将堆栈向上移动一格。顶部的数字现在位于底部) 1011(B):复制(复制最上面的数字,以便它出现两次。例如:4,1变成4,1,1) 1100(C):双重复制(复制堆栈上的最上面的两个数字。ex :4, 1,2变成4,1,2,1,2) 1101(D):交换(交换堆栈中的前两个数字。例如:4,1,2变成4,2,1) 1110(E):双交换(交换最上面的两个数字,下面两个交换。例如:1,2,3,4,5变成1,4,5,2,3) 1111(F):删除/弹出(删除上面的数字堆栈) 例如,包含 1 1 BC 5 C 5 B 9 5-输入(十六进制) | | | | | | | | | | 1 2 2 2 4 4 6 6 2 …

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.