Questions tagged «c++»

这个挑战与C ++语言有关。请注意,通常不建议要求答案使用特定语言的挑战。

15
在C ++中生成最长的错误消息
写一个短的节目,这将产生最长的可能的错误消息,在一个标准的C ++编译器(gcc,cl.exe,icc,或clang)。 每个条目的分数是编译器发出的最长错误消息中的字符数。源代码中包含的类型以及编译器引用的类型被视为单个字符。 作弊 您始终可以在模板中用长名重新定义模板,但是我希望有一些创意。我试图通过最后一条规则来阻止其中的一些,但是当然这些规则可以做得更好,我很高兴得到改进。

18
未来派枪决斗
未来的背景 在2017年,您和您的对手将在一场只有未来一场生存的未来派枪战中对峙。您是否有足够的经验击败对手?现在是时候以您最喜欢的编程语言来提高您的枪支技能,并与一切斗争吧! 比赛结果 本次比赛在早上UTC 2月2日结束的第二,2017年由于我们的选手,我们有一个令人兴奋的未来的比赛! 经过与CBetaPlayer和StudiousPlayer的激烈角逐,MontePlayer是最终的赢家。三位关岛顶级决斗者拍摄了纪念照: MontePlayer - by TheNumberOne +------------+ CBetaPlayer | | - by George V. Williams +------------+ # 1 | StudiousPlayer - by H Walters | +----------------+ | # 2 # 3 | +------------------------------------------+ The Futurustic Gun Duel @ PPCG.SE 2017 恭喜获奖者!详细的排行榜可以在本文结尾处看到。 一般指导 访问官方资源库以获取本比赛中使用的源代码。 C ++条目:请继承Player该类。 非C …

25
在C ++中打高尔夫球的技巧
您在C ++中打高尔夫球有哪些一般技巧?我正在寻找可以应用于一般高尔夫问题代码的想法,这些想法至少在某种程度上是C ++特有的(例如,“删除注释”不是答案)。请为每个答案发布一个提示。
48 code-golf  tips  c++ 

6
编写C / C ++多种语言
这个挑战的概念非常简单。您要做的就是编写一个可以同时作为有效C和有效C ++进行编译的程序!好吧,有一些陷阱。以每种语言编译时,程序的行为必须有所不同。该程序对于每种语言必须具有不同的输出,以便被视为“行为不同”。 规则 该程序必须是有效的C和C ++ 程序必须具有不同的输出,具体取决于编译时所使用的语言。 #ifdef __cplusplus不鼓励使用其他“简单”的预处理器技巧!(不过,其他预处理器操作也很好。) 尽量不要让程序看起来完全不同,这看起来很明显。 这是一场人气竞赛,因此只要有最有趣和令人惊讶的解决方案的人都会获胜。玩得开心! 例: 我创建了自己的程序,看看是否有可能做到这一点#ifdef: #include <stdio.h> #include <string.h> char *m="C++ rules!"; int t[11]={0,0,0,0,1,-1,-3,9,-8,82,0}; char tr(char c,int i) { return c+((sizeof('!')+1)&1)*t[i]; } int main() { int i = 0; for(;i<strlen(m);i++) { printf("%c",tr(m[i],i)); } printf("\n"); return 0; } 该程序C++ rules!在C ++中C++ stinks编译时和在C中编译时输出。 说明: 造成语言差异的是tr()函数。它利用了C和C …

18
在不带分号的C ++中打印1到1000
遵循这个受欢迎的问题,提出您的解决方案,该解决方案无需使用任何分号就可以在C ++中打印数字1到1000(所有字符,而不是字符串“ 1到1000”或任何有趣的东西)。与原始问题不同,您可以使用条件和循环。 不需要任何编译器标志的解决方案是首选。如果违反此规定,请提及您使用的任何内容。允许未定义的行为,因此请指定您使用的编译器和版本。将优先考虑聪明的解决方案。这不是最短的代码竞赛。 (我有一个解决方案,如果在此之前没有发布类似的解决方案,我会在24小时内发布。)

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 

8
在编译时计算CRC32表[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 5年前关闭。 CRC32的参考实现在运行时计算查找表: /* Table of CRCs of all 8-bit messages. */ unsigned long crc_table[256]; /* Flag: has the table been computed? Initially false. */ int crc_table_computed = 0; /* Make the table for a fast CRC. */ void make_crc_table(void) { unsigned long c; …

7
使用最少数量的唯一字符生成整数阶梯(在C ++中)
我是标准高尔夫运动的新手。我正在尝试使用C ++中最少数量的唯一字符来生成整数阶梯。 假设我们给了整数4。 我们将生成以下阶梯: 1 1 2 1 2 3 1 2 3 4 简而言之,我的程序将从stdin读取一个正整数并将此梯形图输出到输出。我正在尝试使用尽可能少的唯一字符。 我的程序如下: #include<iostream> int i; int ii; int iii; int iiii; main() { std::cin >> i; for(ii++; ii <= i; ii++) { int iii = iiii; for(iii++; iii <= ii; iii++) { std::cout << iii << …

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 

5
在Python脚本中添加注释,并使其成为双语的Python / C ++“程序”
给定以下Python 3脚本: def greet(): print("Hello, world!") greet() 前面加上一些行该文本文件,以便它可以同时作为一个Python程序执行以及编译和运行一个C ++程序产生相同的输出你好,世界!(包括末尾的换行符): $ python3 bilingual.py.cpp Hello, world! $ g++ bilingual.py.cpp && ./a.out Hello, world! 该解决方案将通过整个程序的非空白字符计数来评分,包括Python脚本: sed 's/\s//g' bilingual.py.cpp|wc -c

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

5
风险,战争之道
介绍 在此游戏中,玩家使用自己的军队与其他玩家的军队作战,占领领土并成为最后一个站立的人。每回合,玩家都会得到基本数量的军队供其使用。但是,通过占领某些地区的领土,玩家可以增加此数目,从而在游戏后期拥有潜在的优势。(这与Warlight基本相同)。 所有机器人均应使用Java,C或C ++编写(我可能会包括其他语言,但没有相应的软件或经验)。您的提交没有必要扩展一个类,您可以创建函数,类,接口或其他任何必要的东西,并使用标准 API中的任何包或类。如果您打算创建一个类或接口,请考虑使用一个内部类或内部接口。 请不要尝试以编程方式更改竞赛中的控制器或其他提交的内容。 游戏玩法 总览 一个10x10的二维数组将模​​拟该板,每个元素/单元代表一个“区域”。将进行20轮,每轮最多1000圈。每回合,玩家将首先将他们拥有的军队部署到自己拥有的任何领土,然后有机会将其军队运送到附近的领土,以试图通过攻击对手的领土来占领对手的领土。玩家必须部署所有军队,但是如果需要,他们不必移动军队。 进攻/转移军队 如果玩家愿意,他/她可以从一个地区向八个相邻地区中的任何一个派遣军队。棋盘“环绕”,即,如果玩家的领土在一侧,则可以将其周围的军队转移到另一侧的相邻领土。从某一领土调动军队时,该领土上至少还应剩下一支军队。例如,如果一个领土包含五支军队,那么转移到不同领土的人数不得超过四支。如果一个领土包含一个领土,那支军队就无法行动。 如果玩家将n军队从一个领土派遣到他们拥有的另一领土,则该领土将获得n军队。 假设玩家将n军队从他/她的领地发送到其中有o军队的对立领地。o将n * .6舍入到最接近的整数;但是,与此同时,n将o * .7四舍五入为最接近的整数。以下规则将适用于是否占领了对方领土: 如果o达到零n且大于0,则玩家将接管领土,n军队。 如果同时n和o变为零,o将自动设置为1和领土不会被捕获。 如果o仍然大于0,则玩家所在区域的军队数量将增加,n并且对等区域将不会被占领。 奖金 将选择一组地区代表奖金;如果一个玩家拥有该组中所有领土,则该玩家每回合将获得额外的军队。 奖金的ID号代表不同的ID,值代表玩家可以接收的额外军队数量。每回合,奖励的值将是5到10之间的一个随机数(含5和10),并且现场将提供十个奖励,每个奖励都包含十个地区。 例如,如果一个玩家每回合会获得5个军队的所有领土都拥有价值8的加成,则该玩家将在下一回合及随后的回合中获得13个军队。但是,如果玩家失去组成奖励的一个或多个地区,则他/她每回合只会收到5个军队。 输入输出 您的程序应通过命令行参数进行输入,其格式如下: [id] [armies] [territories (yours and all adjacent ones)] [bonuses] ["X" (if first turn)] id并且armies都是整数。id是您的ID,armies是您需要部署到您的地区的军队数量。您必须部署分配给您的所有军队-不多也不少。 territories是一系列字符串,代表您所拥有的领土和与您不相邻的领土。字符串采用以下格式: [row],[col],[bonus id],[player id],[armies] row并col指出该领土所在的董事会的行和列,是该领土bonus id所属的奖励player id的ID ,是拥有该领土的玩家的ID,并且armies是该领土内的军队数量。这些都是数字。 bonuses是代表您可以利用的董事会奖金的一系列字符串。字符串采用以下格式: [id],[armies],[territories …
12 king-of-the-hill  c  c++  java 

15
在没有比较运算符的情况下比较C或C ++中的两个整数
产生最短的程序,该程序将两个有符号整数作为输入(通过stdin或作为参数)并显示3个不同的输出,具体取决于第一个数字是(1)大于,(2)小于还是(3)等于第二个数字数。 赶上 您不能在程序中使用以下任何一项: 该标准比较操作符:<,>,<=,>=,==,!=。 任何库文件除conio,stdio或iostream。 任何非ASCII或不可打印的ASCII字符。 赢家 字符数最少的程序获胜。

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
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 

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.