628
\$\开始组\$

挑战编剧的注意事项元共识:这个问题在发布时很受欢迎,但面临挑战像这样,要求回答者不使用而执行XY(Y)可能会受到冷遇。尝试使用这个沙箱如果你想发布类似的挑战,可以获得反馈。


它是2017 2018 2019 2020 2021 2022 20232024年,伙计们,回家吧。

哇,十年的挑战!

所以,现在是2014年了,是时候问一个涉及数字2014的代码问题了。

你的任务是制作一个打印数字的程序2014,不使用任何字符0123456789在代码中,并且独立于任何外部变量,如日期或时间或随机种子。

在数字是有效标记的任何语言中,最短的代码(以字节为单位计算)将获胜。


排行榜:

var QUESTION_ID=17005,OVERRIDE_USER=7110;函数answersUrl(e){return“https://api.stackexchange.com/2.2/问题/“+问题ID+”/回答?page=“+e+”&pagesize=100&order=desc&sort=creation&site=codegolf&filter=“+ANSWER_filter}函数注释Url(e,s){return”https://api.stackexchange.com/2.2/answers/“+s.join(”;“)+”/评论?page=“+e+”&pagesize=100&order=desc&sort=creation&site=codegolf&filter=“+COMMENT_filter}函数getAnswers(){jQuery.ajax({url:answersUrl(answer_page++)),方法:“get”,数据类型:“jsonp”,crossDomain:!0,成功:函数(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()})}函数getComment斯(){jQuery.ajax({url:commentUrl(comment_page++,answer_id),方法:“get”,数据类型:“jsonp”,crossDomain:!0,成功:函数(e){e.items.forEach e.post_id].注释.推送(e)}),e.有更多吗?getComments():更多答案?getAnswers():process()}})}函数getAuthorName(e){return e.owner.display_name}函数process;var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(函数(e,s){var r=e.size,a=s.size;return r-a});变量s={},r=1,a=null,n=1;e.forEach(函数(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery(“#answer-template”).html();t=t.replace(“{{PLACE}}”,n+“.”).replace查询(“#answers”).append(t);var o=e.语言/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]|{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(函数(e,s){return e.lang>s.lang?1:e.lang<s.lang吗?-1:0});对于(var c=0;c<t.length;++c){var i=jQuery(“#language-template”).html(),o=t[c];i=i.replace(“{{language}}”,o.lang).replace(”{{NAME}}“,o.user).remplace(”}{SIZE}“、o.SIZE).replay(”{LINK}},o.LINK“),i=jQuery(i),jQuery”(“#languages”).append(i)}}var ANSWER_FILTER=“!t)IW YnsLAZle2tQ3KqrVveCRJfxcrle“,COMMENT_FILTER=”!)Q2B_A2kjfAiU78X(md6BoYk“,答案=[],answers_hash,answer_id,answer_page=1,more_answers=!0,comment_page;获取答案();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n>]+>)[^\n\d<>]]*)*<\/h\d>)/,OVERRIDE_REG=/^OVERRIDE\s*标头:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}表格头{font-weight:700}表格td{paddion:5px}
<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><link rel=”stylesheet“type=”text/css“href=”//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b“><div id=“answer-list”><h2>排行榜语言列表“><thead><tr><td>语言</td><td>用户</td><td>分数</td></tr></thead><tbody id=“languages”></tbody></table></div><table style=“display:none”><tbody id=“answer template”><tr><td>{PLACE}}</td><td>{{NAME}}</td><td>{language}</td><td>{SIZE}</td><td><a href=“{链接}}“>链接</a></td></tr></tbody></table><table style=”display:none“><tbody id=“language-template”><tr><td>{{language}}</td><td>{NAME}}链接

\$\端组\$
16
  • 24
    \$\开始组\$ 尽管在头脑风暴中数字被忽略了,但我还是想贴一张。32个字符:++++++[>++++++++<-]>++.--.+.+++. \$\端组\$ 评论 2015年4月1日21:37
  • 7
    \$\开始组\$ Brainfuck不是一种有效的语言来应对这个挑战。 \$\端组\$
    – 乔·Z。
    评论 2015年4月1日22:49
  • 14
    \$\开始组\$ 我知道。这就是我把它作为评论发布的原因 \$\端组\$ 评论 2015年4月1日22:51
  • 13
    \$\开始组\$ 我想知道这个问题在新年前后是否会受到欢迎。 \$\端组\$
    – 乔·Z。
    评论 2015年12月26日23:28
  • 5
    \$\开始组\$ 等待“伙计们,别这样,难道你不知道现在是2016年吗?”:) \$\端组\$
    – 学徒
    评论 2016年1月4日23:35

333个答案333

重置为默认值
1
2 4 5
12
1413
\$\开始组\$

Python 2,51字节

打印sum(“祝你新年快乐”中c的ord(c))

在线试用!

由于@Frg,2015年更新:

打印sum(“祝你新年快乐”中c的ord(c))

在线试用!

鼠标悬停查看2016版:

打印sum(ord(c)代表“祝你新年快乐!!!”中的c)

在线试用!

\$\端组\$
41
  • 213
    \$\开始组\$ 你应该获得聪明奖 \$\端组\$ 评论 2014年1月1日19:49
  • 184
    \$\开始组\$ 哇,这就是这个问题的本质< \$\端组\$ 评论 2014年1月1日19:51
  • 91
    \$\开始组\$ 我有点惊讶,这只是我在“新年快乐!”之后尝试的第四个短语,对于1374年来说应该是完美的。 \$\端组\$ 评论 2014年1月1日20:14
  • 66
    \$\开始组\$ 打印sum(ord(c)代表“祝你新年快乐”中的c。)哦,等等,我迟到了一年。那是2013年。 \$\端组\$
    – 沃伦·P
    评论 2014年1月2日15:31
  • 190
    \$\开始组\$ sum(地图,“祝你新年快乐!”)将节省7个字符。 \$\端组\$
    – 用户2186
    评论 2014年1月2日16:19
296
\$\开始组\$

Go,2字节(UTF-16)

一个unicode字符(UTF-16格式为2个字节,UTF-8格式为3个字节),作为错误的一部分输出2014

http://ideone.com/dRgKfk

无法加载包:包:程序go:1:1:非法字符U+2014'-'
\$\端组\$
7
  • 12
    \$\开始组\$ 这很聪明,但这个问题需要一个打印数字的程序。 \$\端组\$ 评论 2014年1月4日15:18
  • 54
    \$\开始组\$ 如果打印的错误代码计数,则此提交应获胜。 \$\端组\$ 评论 2014年1月5日15:51
  • 61
    \$\开始组\$ +1.问题没有说“打印”只有数字什么都没有”。 \$\端组\$
    – 卡兹
    评论 2014年1月14日22:31
  • 7
    \$\开始组\$ 我不在乎它是否有效,它非常棒。 \$\端组\$ 评论 2019年5月5日2:01
  • 5
    \$\开始组\$ 这是一个标准漏洞 \$\端组\$
    – 银河90
    评论 2019年8月3日4:56
261
\$\开始组\$

鲁比,15岁

p新年度时间

临时;)


注意问题的部分

独立于任何外部变量,如日期或时间或随机种子

直到我发布答案后很久才被编辑。。。


Jan Dvorak在评论:

快乐=时间新年快乐

但这太不热情了。我更喜欢:

快乐=时间上课时间;别名年份!年份;结束新年快乐!

甚至:

类Have;定义自我;A.新的;结束;结束A类;定义快乐;时间;结束;结束上课时间;别名年份!年份;结束祝你新年快乐!

下面是正确的英语标点符号:

定义noop x=零;结束别名noop别名happy noop别名new noop别名年份!noop公司def有xp新年度时间结束祝你新年快乐!

好吧,好吧,我忍不住:

定义noop x=零;结束eval%w[祝您圣诞快乐!圣诞快乐,新年快乐]。map{x|“alias#{x}noop”}*“\n”定义年份!;p时间新年份;结束我们祝你圣诞快乐!我们祝你圣诞快乐!我们祝你圣诞快乐,新年快乐!
\$\端组\$
1
  • 188
    \$\开始组\$ 快乐=时间;新年快乐 \$\端组\$ 评论 2014年1月1日8:18
250
\$\开始组\$

贝丰-98(FBBI),17 11 98字节

'-:*b-@

在线试用!

与旧版本类似,但我记得'

‘-:*推45,复制,然后平方,生成2025b-从中减去11,得出2014年.@打印结果,然后结束程序

有趣的是,\$45^2-11\$是唯一一对数字a,b,其中$(a,b)∈[32126]\times[10,15]\land a^2-b=2014$$这些集合的重要性在于\$[32,126]\$是可打印的ascii字符集\$[10,15]\$是一组易于访问的Befunge数字。我找到了一双这个python程序:

对于范围内(32127):对于范围(10,16)内的c:如果(a**2-c)==2014:打印(“%s,%s”%(a,c))

或者,如果您的解释器支持unicode,则可以这样做:

Befunge 98-5字节(4个字符)

'ߞ.@

它至少对http://www.quirkster.com/iano/js/befunge.html使用以下代码(Befunge 93-6字节/5个字符):

"ߞ".@

贝丰-98(FBBI),9字节

旧版本:

cdd**e-@

在线试用!

计算数字,然后打印:

cdd将数字推送到堆栈中,结果如下:12、13、13**乘以堆栈的前三个值,即现在的2028e推动14-减去堆栈的前两个值,得出:2014.打印数值@程序结束

贝丰-98(FBBI),17字节

旧版本:

“*'&(”#;:a`j@a+,;

在线试用!

推导出2014年的ascii值-10。然后在添加10之后打印每个。

\$\端组\$
12
  • 82
    \$\开始组\$ en.wikipedia.org/wiki/Befunge网站…这是什么我都不知道。。。 \$\端组\$
    – 柏拉图
    评论 2014年1月2日13:16
  • 40
    \$\开始组\$ “该语言最初是由Chris Pressey于1993年创建的,旨在设计一种尽可能难以编译的语言”。。。 \$\端组\$
    – 
    评论 2014年1月2日15:21
  • 7
    \$\开始组\$ @11684问题中的输出相当明确。如果打印程序:随机填充2随机填充0随机填充1随机填充4我认为这不是一个有效的解决方案。 \$\端组\$
    – 碾碎机
    评论 2014年1月2日17:45
  • 7
    \$\开始组\$ @柏拉图如果你想了解Befunge 98,与其阅读维基百科文章(其中只包括Befunge93),不如阅读官方规格 \$\端组\$
    – 贾斯廷
    评论 2014年1月3日9:06
  • \$\开始组\$ 维基:“该语言最初是由克里斯·普雷西(Chris Pressey)于1993年创建的,旨在设计一种尽可能难以编译的语言”。。。但为什么? \$\端组\$ 评论 2014年1月28日20:17
193
\$\开始组\$

Python 2,26字节

打印int('bbc',ord(“\r”))

在线试用!

\$\端组\$
10
  • 65
    \$\开始组\$ 英国广播公司2014年排名第13位 \$\端组\$ 评论 2014年1月1日10:50
  • 74
    \$\开始组\$ 我认为使用字符“bbc”和使用基数13是道格拉斯·亚当斯的致敬。“我可能很抱歉,但我不会以13为基数写笑话。” \$\端组\$ 评论 2014年1月2日15:34
  • 10
    \$\开始组\$ 13年前。裂开。 \$\端组\$ 评论 2014年1月2日18:30
  • 5
    \$\开始组\$ IMO,这个答案是“真皮松语” \$\端组\$ 评论 2014年1月4日15:11
  • 14
    \$\开始组\$ @布莱恩·明顿:使用基数13可能是因为它是唯一一个介于2和36之间的基数,可以不用任何字符来表示数字20140-9. \$\端组\$
    – 丹04
    评论 2014年1月5日4:25
154
\$\开始组\$

鼠标-2002,4个字节。

这是4个字节的纯甜美ASCII码。

鼠标,字母表中的字母被初始化为0-25。!是打印整数的运算符,因此此操作将打印20然后14(无断续换行)。

你!哦!

没有在线翻译,但是在这里您会发现一个用C编写的解释器(需要进行一些调整才能强制海湾合作委员会编译它)和相同的编译解释器Win32(Win32)但它在Linux上运行良好葡萄酒.

在这里您可以找到编译的解释器的固定版本。

\$\端组\$
10
  • 8
    \$\开始组\$ 哇,这是一个惊人的发现后,这么多的挑战。由于语言如此深奥,这里还没有人听说过! \$\端组\$
    – 乔·Z。
    评论 2015年12月9日1:19
  • 5
    \$\开始组\$ 顺便说一句:这和CJam做的一样韩国,但实际上是有效的,因为它是2014年之前的一种语言。 \$\端组\$
    – 乔·Z。
    评论 2015年12月9日1:30
  • 14
    \$\开始组\$ 在一次最快的代码. \$\端组\$
    – 
    评论 2015年12月9日1:33
  • 83
    \$\开始组\$ 这是一款@cat and Mouse-2002游戏。 \$\端组\$ 评论 2016年10月7日5:00
  • 8
    \$\开始组\$ @数字创伤:3 \$\端组\$
    – 
    评论 2016年10月7日6:44
151
\$\开始组\$

MATLAB,Scala(4个字符,5个字节)

在这里,您可以利用MATLAB(和Scala)相对较弱的类型系统。诀窍是使用一元+对仅由字符组成的字符串的操作ߞ(UTF-8码位U+07DE,或十进制2014)。此操作隐式地将字符串转换为双精度数(在MATLAB中)和国际(在Scala中):

+'ߞ'

字节计数详细信息:

  • +为ASCII,计数为1字节
  • '是ASCII,计数为1字节(但在表达式中出现两次)
  • ߞ是2字节UTF-8字符

总计:5字节

TeX公司(3226个字符,字节数相同)

\定义~{\类别代码`}~}~\\~\\%\再见

更短的替代方案(由约瑟夫·莱特)是

\数字`^^T\number`^^N\再见

XeTeX/LuaTeX(13个字符,14个字节)

如果允许XeTeX或LuaTeX,则可以直接使用UTF-8输入(根据约瑟夫·莱特):

\数字`ߞ再见
\$\端组\$
4
  • \$\开始组\$ \让~\number~`^^T~`^*N\再见25个字符/字节。我想你数错了,你的答案也是25。 \$\端组\$
    – 哟'
    评论 2014年1月2日19:46
  • 1
    \$\开始组\$ @tohecz我认为我们的两个解决方案实际上都有26个字节长。 \$\端组\$ 评论 2014年1月2日19:55
  • 1
    \$\开始组\$ 如果需要当前年份,则13个字节:\再见 \$\端组\$
    – 哟'
    评论 2014年1月2日20:03
  • 2
    \$\开始组\$ +'ߞ'也可以在Scala(我想还有其他几种语言)中使用 \$\端组\$
    – 西恩
    评论 2014年1月2日21:22
124
+100
\$\开始组\$

直流,6字节

DiBBCp公司

在线试用!

  • 将13压入堆栈,即使最初输入基数为10
  • 更改输入基数(从10改为13)
  • 英国广播公司是2014年的基数13。
  • 第页打印。

控制台输出:

$dc<<<“DiBBCp”2014
\$\端组\$
8
  • 12
    \$\开始组\$ 是的,但实际的dc程序仍然是DiBBCp公司(6个字符),其余的只是运行它的一种方式。 \$\端组\$
    – 丹麦人
    评论 2014年1月3日17:51
  • 12
    \$\开始组\$ 我本来打算投赞成票,但它有42分!使用基数13和单词BBC。这真是太酷了!似乎今年我们会发现生命、宇宙和万物的问题;-)en.wikipedia.org/wiki/Base_13。我支持@daniero的评论,并留下了这个令人赞叹的42声誉的答案;-) \$\端组\$ 评论 2014年1月12日19:01
  • 6
    \$\开始组\$ @巴勃罗马林·加西亚(PabloMarin-Garcia),不幸的是,一些不知情的人打破了它……现在有43票。请返回并投反对票!:) \$\端组\$
    – 托马斯
    评论 2014年1月14日16:07
  • 5
    \$\开始组\$ @托马斯·沃贡斯总是沃贡斯。反抗星际官僚政治是徒劳的。 \$\端组\$ 评论 2014年1月15日0:03
  • \$\开始组\$ 我甚至找不到手册页中的命令。它做什么?不要介意。。。D是十六进制表示13。 \$\端组\$
    – 千日圆
    评论 2014年4月28日18:40
96
\$\开始组\$

斯卡拉,3229字节

+“新年快乐!”sum

在线试用!

好吧,如果你真的想用任何木炭打高尔夫球,你可以使用:

斯卡拉,11字节

'@'*' '-'"'

在线试用!

斯卡拉,22字节

“{yz}”地图(_-'I'toChar)

在线试用!

\$\端组\$
4
  • 4
    \$\开始组\$ 有趣的想法,即使它不是特别高尔夫球。但是字符串本身使它比使用高字节的东西或类似的东西更有趣。 \$\端组\$
    – 无效的
    评论 2014年1月1日19:32
  • \$\开始组\$ 我添加了一个高尔夫版本。 \$\端组\$ 评论 2014年1月1日20:12
  • 2
    \$\开始组\$ 您可以从到Int这样地:+“新年快乐!”sum 测试 \$\端组\$
    – 西恩
    评论 2014年1月2日21:26
  • \$\开始组\$ 已更新。我不知道+也可以是前缀。 \$\端组\$ 评论 2014年1月3日9:49
91
\$\开始组\$

R(右),7245字节

这远不是最短的答案,但还没有人发布过这样的答案

  • 不使用字符代码代替数字,以及
  • 不调用系统日期。

从R控制台在R中使用纯数学(好的,以及自动布尔转换):

x<-(T+T);x+楼层(exp(pi)^x)*x*x-(x*x)^(x**x)/x

在线试用!

打印出数字2014。T型是R中true的预定义同义词地板经验函数在基本包中直接可用圆周率常数。R没有递增运算符,但重复(x*x)结果是每个字符进行两次递增和递减的字符更少。


Javascript原始版本(72个字符)

原因很简单,我可以在控制台中进行测试,它不介意完全缺少空白:

m=数学;p=m.pow;t=真++t+m.地板(p(m.exp(m.PI),t))*t*t++-p(++t,t--)/--t

在您的控制台中运行,它将打印回2014年的数字。


道具到千卡/天(和)让我思考exp(pi):e到π减去π

附言:如果你能用不同的语言缩短相同的算法,请用它发表评论。

\$\端组\$
11
  • 1
    \$\开始组\$ o=!"";(o+o)+“”+(o-o)+(o+o-o)+(o+o+o++) \$\端组\$ 评论 2014年1月2日上午10:32
  • 5
    \$\开始组\$ 25字节:警报('ߞ'.charCodeAt()) \$\端组\$ 评论 2014年1月2日14:13
  • 1
    \$\开始组\$ +1.然而,你声称你的答案是第一个“不使用字符代码代替数字,也不调用系统日期”的答案。这实际上是错误的。我的答案有这个解决方案cdd**e-@(发布在你之前),它没有使用字符代码或系统日期。它计算出2014年的数字。c(c),d日、和e(电子)是十六进制数字。,b条,...,(f)分别按下10、11、,。。。15所以12 * 13 * 13 - 14是计算。 \$\端组\$
    – 贾斯廷
    评论 2014年1月4日9:19
  • \$\开始组\$ 这不是第一个不使用字符代码的答案;我有几个早期的。 \$\端组\$ 评论 2014年1月4日12:39
  • 1
    \$\开始组\$ @梅肯:你说得对;浏览一下,我没有发现你的版本使用的是十六进制数字,而不是字符代码。 \$\端组\$ 评论 2014年1月4日15:47
71
\$\开始组\$

C(叮当声),33字节

main(){printf(“%d”,'A'*''-'B');}

在线试用!

\$\端组\$
6
  • 21
    \$\开始组\$ 2014年的主因子分解需要ASCII 5,这真是令人讨厌! \$\端组\$ 评论 2014年1月1日8:56
  • \$\开始组\$ 我得到了Cocoa Touch目标C的(int a;YES;a++){NSLog(@“%I”,a);},但我还不能添加(评分不够)。它最终显示的是2014年,它有一个编译器错误,可能根本无法工作,编译后的数据可能约为420兆,但嘿。 \$\端组\$
    – 再生钢
    评论 2014年1月3日17:21
  • \$\开始组\$ main(){printf(“%d”,'\a\xde');} \$\端组\$
    – mjy公司
    评论 2014年1月5日15:07
  • 1
    \$\开始组\$ @不保证多字符文字的mjy字节顺序。 \$\端组\$ 评论 2014年1月5日22时14分
  • \$\开始组\$ @JonathonReinhart多字符文字完全是实现定义的。 \$\端组\$ 评论 2015年4月8日12:14
70
\$\开始组\$

Python3.4.0b2(0字节)

%蟒蛇3.4Python 3.4.0b2(v3.4.0b2:ba32913eb13e,2014年1月5日,11:02:52)[GCC 4.2.1(Apple Inc.构建5666)(点3)]在达尔文键入“help”、“copyright”、“credits”或“license”以获取更多信息。>>>
\$\端组\$
5
  • \$\开始组\$ 一旦人们在一年后更新他们的Python 3版本,这就行不通了。 \$\端组\$
    – 乔·Z。
    评论 2014年1月11日22:51
  • 26
    \$\开始组\$ 这就是我提到的原因蟒蛇3.4.0b2,这不会发生两次。它的发布日期,而不是系统日期。 \$\端组\$
    – 
    评论 2014年1月12日3:18
  • 7
    \$\开始组\$ 这让我笑了! \$\端组\$ 评论 2014年8月2日11:24
  • 2
    \$\开始组\$ 同样适用于Python 3.4.2。 \$\端组\$ 评论 2016年9月14日17:56
  • \$\开始组\$ 不允许添加无关输出。 \$\端组\$
    – 银河90
    评论 2019年7月5日4:31
70
\$\开始组\$

PHP,9字节

这需要PHP 7.1或更低版本。它将在PHP7.2中工作,但会导致警告。不保证任何未来版本。

xxd(xxd)由于二进制数据的原因(因此复制和粘贴会更容易)。可能返回E_通知,但这并不重要,是吗?

约$xxd-r>2014.php0000000:3c3f 3d7e cdcf cecb 3b<?=~。。。。;约$php 2014.php2014

或者,使用ISO-8859-1编码保存此文件。

<?=~ÍÏÎË;
\$\端组\$
7
  • \$\开始组\$ @Quincunx:上传这个相对比较棘手,但这里是Ideone-ideone.com/APHKhn. \$\端组\$
    – 无效的
    评论 2014年1月1日10:47
  • 1
    \$\开始组\$ 这看起来很有趣;它做什么? \$\端组\$
    – 贾斯廷
    评论 2014年1月1日10:48
  • 7
    \$\开始组\$ @Quincunx:它对字符串的每个字符都不按位执行(0x00变为0xFF,0x7F变为0x80)。由于字符串是有效的标识符(对于PHP来说,任何高位集都是标识符字符,可能是为了支持其他编码),PHP认为它是一个常量,但因为它没有定义,所以它将其视为字符串。 \$\端组\$
    – 无效的
    评论 2014年1月1日10:50
  • 2
    \$\开始组\$ 既然问题是“现在是2014年……”,那么回声日期(“Y”);? \$\端组\$
    – 约翰
    评论 2014年1月2日19:05
  • 6
    \$\开始组\$ @约翰:没有。如果你想阅读关于这个问题的评论,你会注意到OP不想把当前年份作为答案。此外,<?=日期(Y);将是11个字符,我有9个字符的解决方案。 \$\端组\$
    – 无效的
    评论 2014年1月3日12:39
59
\$\开始组\$

Mathematica,14个字符(如果将位图计算为一个字符,则为15个字符)

文本识别@在此处输入图像描述

\$\端组\$
8
  • 54
    \$\开始组\$ 实际上,你应该计算字节数,所以它的大小是位图图像的14+。 \$\端组\$ 评论 2014年1月1日18:46
  • 23
    \$\开始组\$ 位图可能有7357个字符,真的。 \$\端组\$
    – 乔·Z。
    评论 2014年1月1日18:46
  • 5
    \$\开始组\$ 此外,我认为图像中的一些字节属于\d日范围。也就是说,如果它是GIF,那么保证标头本身包含一些。 \$\端组\$ 评论 2014年1月1日18:49
  • 15
    \$\开始组\$ 你们都是令人扫兴的人。好的,使用第一个@ToCharacterCode@“ߞ”表示25个字符,26个字节。 \$\端组\$ 评论 2014年1月1日18:59
  • 9
    \$\开始组\$ 作为奖励,这里有一个30个字符的Mathematica解决方案--URLFetch@“goo.gl/miVwHe" \$\端组\$ 评论 2014年1月1日19:42
49
\$\开始组\$

JavaScript(Node.js),23字节

使用Base 64转换

警报(atob(“MjAxNA==”)

在线试用!

或者

警报(“MMXIV”)//;)
\$\端组\$
13
  • 27
    \$\开始组\$ MMXIV公司与没有共同的字符2014,我最后一次检查。。。// ;) \$\端组\$
    – 乔·Z。
    评论 2014年1月1日6:45
  • 23
    \$\开始组\$ 古罗马人可能不同意。第一部是2014年,用现代英语。 \$\端组\$
    – 逻辑8
    评论 2014年1月1日6:48
  • 1
    \$\开始组\$ 你的第一个没有输出。。。 \$\端组\$ 评论 2014年1月1日16:14
  • 1
    \$\开始组\$ 如果你用chrome打开控制台,粘贴它并点击enter,它会返回值-我会给它添加一个警告,因为它比其他的长。 \$\端组\$
    – 逻辑8
    评论 2014年1月1日17:54
  • 5
    \$\开始组\$ @逻辑8:不错的+1。另一个同样有效的JavaScript版本:(4字节)[!+[]+!+[]]+[+[]]+[+!+[]]+[!+[]+!+[]+!+[]+!+[]]-警报([!+[]+!+[]]+[+[]]+[+!+[]]+[!+[]!+[!]+!+[]+;虽然我不确定它是否符合Joe Z(乔·Z)的要求。 \$\端组\$
    – 
    评论 2014年1月3日15:03
44
\$\开始组\$

Perl-10个字符

这个解决方案是由BrowserUK在PerlMonks上提供尽管我已经从他发布的解决方案中删除了一些不必要的标点符号和空白。它是四个字符的二进制字符串上的按位“not”。

说“我爱你”

上面显示的字符表示二进制八位字节cd:cf:ce:cb,以及它们在ISO-8859-1和ISO-8859-15中的显示方式。

以下是十六进制的整个脚本,以及运行该脚本的示例:

$hexcat~/tmp/ten-stroke.pl73:61:79:7e:22:cd:cf:ce:cb:22$perl-M5.010~/tmp/ten-stroke.pl2014

Perl(无高位)-14个字符

说“RPQT”

这在两个四字符字符串上使用按位“or”“RPQT”"````"(即四个反勾号)。

$~/tmp/4urteen冲程.pl73:61:79:27:60:60:60-60:27:5e:52:50:51:54$perl-M5.010~/tmp/fourteen-stroke.pl2014

(我最初使用的是另一种方式的两个字符串,这两个字符串之间需要空白打印RPQT公司分开代币@Dom Hastings指出,通过切换它们,我可以保存一个角色。)

Perl(作弊)-8个字符

这可能不符合竞争精神,但PerlMonks上的hdb指出Perl提供了一个名为$0包含当前正在执行的程序的名称。如果允许我们命名包含脚本“2014”的文件,那么$0将等于2014年。$0包含一个数字,所以我们不能直接使用它,但是${...}包含计算结果为0的表达式是可以的;例如:

说${$}

为了保持一致性,让我们用它来做六边形的事情:

2014年六角猫73:61:79:24:7b:24:7c:7天2014年5月10日$perl2014

我认为这是作弊,但这是一个有趣的解决方案,值得一提。

\$\端组\$
6
  • 2
    \$\开始组\$ 嘿,如果你颠倒字符串和赤裸裸的文字,你可以保存一个字符:打印“```”^RPQT。可能会使用同样在5.10+上使用-E而不是-E,但我不知道这是否会对不同的命令行参数产生+2惩罚? \$\端组\$ 评论 2014年1月1日11:54
  • \$\开始组\$ 指定使用Perl 5并使用没有处罚。 \$\端组\$ 评论 2014年1月1日12:04
  • \$\开始组\$ @DomHastings,我个人认为,如果要使用“-e”或“-e”,我会说您必须包括整个命令,包括字符计数中的“perl-e”。 \$\端组\$
    – 托宾克
    评论 2014年1月1日13:35
  • 1
    \$\开始组\$ 相关元答案 \$\端组\$ 评论 2014年1月1日14:24
  • 4
    \$\开始组\$ 您还可以使用不需要引号的字符串文字来保存另一个字节,例如说ABCD ^srrp. \$\端组\$ 评论 2014年1月9日17:56
41
\$\开始组\$

红宝石,20字节

p“bbc”.to我?\罗得

在线试用!

说明:英国广播公司2014在底座13中。比Python短。没有福斯那么短。

\$\端组\$
10
  • 25
    \$\开始组\$ “没有人在13进制写笑话!” \$\端组\$ 评论 2014年1月1日12:21
  • 1
    \$\开始组\$ w=?$;“^XA[_AXeMFGIAHJLjKNAEFEJJNHQHNKLAEMINJOJOHLAGKHOJOJ[AG[HQHRFJAH}IHAIGWIIAHHGwKHAGHrEUAGQFiGVAGQGfIPAFHHbJHAQII]MGASHNSOHATIDIAUJJRLIAWLIQKAZOFUA]ZAeSAiPAjOAkLA”.码点{|r|r-=68;$><<(r<0 \$\端组\$ 评论 2014年1月1日17:49
  • 1
    \$\开始组\$ p“ߞ”.ord对于全功能程序,“ߞ”.ord里面内部评级1.9工程+ \$\端组\$ 评论 2014年1月3日2:37
  • 1
    \$\开始组\$ 没有“奇怪”的unicode字符:?-*?--?\v(v)(45*45-11)(红宝石1.8) \$\端组\$ 评论 2014年1月3日2:45
  • \$\开始组\$ 小一个字符:?.*?.-?(f)(46*46-102)(再次使用Ruby 1.8) \$\端组\$ 评论 2014年1月3日2:58
30
\$\开始组\$

PowerShell(PowerShell),9字节

+"ߞ"[""]

在线试用!

ߞ(U+07DE NKO字母KA)根据code-golf标签信息.

[""]返回字符串中的第一个字符(""已转换为0). 一元加运营商(+)将字符转换为整数。

\$\端组\$
  • 1
    \$\开始组\$ 根据codegolf.stackeexchange.com/tags/code-golf/info,应计为9个字符。 \$\端组\$
    – 无效的
    评论 2014年1月1日11:15
  • \$\开始组\$ @Glitch先生,谢谢,我已经更正了我的答案。 \$\端组\$ 评论 2014年1月1日11:22
  • \$\开始组\$ 这个['']是一个很好的技巧。我通常使用[字符]但这确实更短:) \$\端组\$
    – 乔伊
    评论 2014年1月8日8:57
29
\$\开始组\$

Javascript,18个字符

警报(btoa(“ÛMx”)

更新:在ES6中,使用模板文字可以保存两个字符:

警报(btoa`ÛMx`)

记住,上面的代码很容易理解英国电信运营商协会根据一组定义良好的规则将字符串转换为另一个字符串(副本请求4648). 为了了解转换的工作原理,我们将输入字符串“ÛMx”写成二进制数字序列,其中每个字符都呈现为其8位字符代码。

输入字符|Û|M|x字符代码(十进制)|219|77|120字符代码(二进制)|11011011|01001101|01111000

在以6为一组重新组织最后一行的二进制数字后,我们得到了4个新数字的二进制表示,对应于字符串“2014”中4个字符的Base64索引。

Base64索引(二进制)|110110|11010|111000Base64索引(十进制)|54|52|53|56输出字符|2|0|1|4

根据HTML规范,可以根据下表从其Base64索引中检索输出字符:http://dev.w3.org/html5/spec-LC/webappapis.html#base64-表格.

如果你不关心细节,你可以让浏览器为你做计算,发现“ÛMx”是评估的结果atob(2014年)在Javascript中。

\$\端组\$
10
  • \$\开始组\$ 这个问题提到打印数字。我知道控制台中的求值会导致返回结果,但Code高尔夫一般认为JS答案将包括某种形式的IO(警觉的最常见)。 \$\端组\$ 评论 2014年1月3日16:22
  • \$\开始组\$ @zzzzBov是的,我最初的答案包括一个警觉的呼叫。 \$\端组\$
    – 转到0
    评论 2014年1月3日17:21
  • \$\开始组\$ 它列出了社区作为已移除警觉的。我想知道JS codegolf的标准是否发生了变化,或者这仅仅是Community采用的一个变化。 \$\端组\$ 评论 2014年1月3日17:28
  • \$\开始组\$ @zzzzBov:这是SHiNKiROU和luser droog接受的匿名用户的更改。无论如何,这次编辑引发了关于Meta的讨论(meta.codegolf.stackexchange.com/questions/803/…). \$\端组\$
    – 无效的
    评论 2014年1月4日11:19
  • \$\开始组\$ @xfix,不仅仅是这个编辑让我在meta上提出了这个问题,我已经看到了足够多的代码高尔夫球,人们对开发控制台是否算作打印产生了分歧,我认为值得要求一个标准。 \$\端组\$ 评论 2014年1月4日18:12
27
\$\开始组\$

斯卡拉,6字节

"?="##

在线试用!

(##是Scala的符号含义哈希代码、和Java字符串"?="哈希到2014年。)

斯卡拉,5个字节

+'ߞ'

在线试用!

我们最喜欢的unicode字符上的数学生成一个国际.

\$\端组\$
0
24
\$\开始组\$

高尔夫球脚本,9字节

又一个GolfScript条目。我认为这比迄今为止任何可打印的GolfScript条目都短:

"!="{*}*)

在线试用!

(彼得·泰勒的7字符条目超过了它,但包括不可打印的控制字符。)

我把这个叫做“那所以去年!“条目,因为它实际上是生成数字2013以8个字符表示,为33×61,然后增加1。;-)

\$\端组\$
1
22
\$\开始组\$

C(gcc),31字节

main(){printf(“%o”,'b'/'\b');}

在线试用!

C(gcc),32字节

main(){printf(“%x%o”,“”,“\f”);}

在线试用!

C(gcc),30字节

main(){printf(“%x”,'j'^'~');}

在线试用!

C(gcc),30字节

main(){printf(“%d”,'\a\xde');}

在线试用!

\$\端组\$
11
  • \$\开始组\$ 就这样怎么样“%x”“b”*“S”? 这是2014年12月8212日。保存一个字符,一个文字,两个格式字符串。 \$\端组\$
    – M更改
    评论 2014年1月2日15:26
  • \$\开始组\$ @MSalters不,“b”*“S”是8134。8212的主因式分解是2*2*2053,所以我看不出一个简单的方法。 \$\端组\$
    – 溢流
    评论 2014年1月2日16:14
  • \$\开始组\$ 呸,用整数除法检查8212/“b”==“S”:( \$\端组\$
    – MS变化
    评论 2014年1月2日16:37
  • \$\开始组\$ 八进制也不起作用(02014=1036=37*28,28不可打印) \$\端组\$
    – M更改
    评论 2014年1月2日16:44
  • 1
    \$\开始组\$ @FredOverflow我的28字符解决方案怎么样?main(){put(__DATE__+'\a');} \$\端组\$ 评论 2014年1月8日5:18
21
\$\开始组\$

高尔夫球脚本,14字节

'-+,/'{)))))}%

在线试用!

工作原理:ASCII是这样的:

...+,-./0124...

因此,这需要每个字符的ASCII码,减去5,然后将其粘贴到字符串中。

{...}%当给定字符串作为参数时,将生成映射字符串的字符数组。因此,它将每个字符增加5()表示增量)。

\$\端组\$
5
  • \$\开始组\$ 这个+最后是没有必要的。此外,与其增加5倍,不如增加5倍。总节省:4个字符。'-+,/'{5+}% \$\端组\$
    – 贾斯廷
    评论 2014年1月1日10:42
  • 21
    \$\开始组\$ @梅花形,5是一个数字。 \$\端组\$ 评论 2014年1月1日10:48
  • 9
    \$\开始组\$ @彼得·泰勒,我总是忘记。 \$\端组\$
    – 贾斯廷
    评论 2014年1月1日16:43
  • \$\开始组\$ 聪明的解决方案 \$\端组\$
    – 住村8
    评论 2014年1月2日7:38
  • \$\开始组\$ CJam版本:“-+,/”_,)f+.:)(然后,CJam再次杜兰特.) \$\端组\$ 评论 2014年12月18日18:38
21
\$\开始组\$

第四(gforth),14字节

'> '" * '^ - .

在线试用!

\$\端组\$
  • 1
    \$\开始组\$ 你能解释一下这是怎么回事吗? \$\端组\$
    – 程序FOX
    评论 2014年1月1日11:04
  • 1
    \$\开始组\$ 我使用序号(ASCII)值将整型常量表示为字符文字。这就是:62 34 * 94 - .如果你不说话,这意味着打印(62*34-94). \$\端组\$ 评论 2014年1月1日11:14
  • \$\开始组\$ 第四个(Gforth 0.7.0),5个字节,4个字符:'ߞ .它打印字符。 \$\端组\$ 评论 2014年1月9日11:03
19
\$\开始组\$

APL(6个字节,4个字符)

⊃⎕TS

不过今年才管用。

工作原理:

⎕TS公司2014 1 1 11 58 5 811⊃⎕TS2014

不依赖系统日期10字节(7个字符):

⎕UCS“ߞ”
\$\端组\$
4
  • 6
    \$\开始组\$ 不幸的是,只有今年才有效的答案是无效的。 \$\端组\$
    – 乔·Z。
    评论 2014年1月1日15:34
  • \$\开始组\$ 我不知道APL:那个方框是APL字符,还是我缺少了字体表示(Chrome)? \$\端组\$ 评论 2014年1月1日16:24
  • \$\开始组\$ @乔·Z:这个问题并没有这么说,但我添加了一个不依赖于2014年的问题。 \$\端组\$ 评论 2014年1月1日17:12
  • 5
    \$\开始组\$ @卡尔维特霍夫特:这叫四人组(),应该是这样的。 \$\端组\$ 评论 2014年1月1日17:12
19
\$\开始组\$

Python 2,32字节

打印ord(',')*ord('-')+ord(“”)

在线试用!

可能可以使用2014年的第个Unicode字符来减少ߞ,但我没有尝试。

Quincunx指出

a=单词('.');打印单词('f')

在线试用!

短了三个字符。

\$\端组\$
6
  • \$\开始组\$ unicode版本可以工作,至少在带有IDLE的Python 3中是这样的:打印(ord(“ߞ”)。它在Python 2中似乎不起作用;Python 2可能不支持unicode。 \$\端组\$
    – 贾斯廷
    评论 2014年1月1日9:59
  • \$\开始组\$ 此外,对于您的版本,a=单词('.');打印(单词('f'))短2个字符。 \$\端组\$
    – 贾斯廷
    评论 2014年1月1日10:06
  • \$\开始组\$ @它确实支持,但是您需要在文件中设置特定的编码并附加u个在字符串末尾(将是“ߞ”u) \$\端组\$
    – 克罗坦
    评论 2014年1月1日16:23
  • 2
    \$\开始组\$ @事实上,我很确定第二部分不是真的。在Python 2中,您必须预弯字符串u个可以说它们是unicode,但在Python 3中,所有字符串都自动是unicode \$\端组\$ 评论 2014年1月2日15:41
  • 1
    \$\开始组\$ 与上面的注释类似,没有unicode打印字('.')**2字('f')略短。 \$\端组\$
    – MLS公司
    评论 2014年1月7日16:45
19
\$\开始组\$

Python 2,32字节

写这篇文章很有趣:

my_lst=[]对于范围(33126)内的i:对于范围(i,126)中的j:如果2014年-126<i*j<2014年-33:如果j不在范围(48,58)内:my_lst.append(“ord('”+unichr(i)+“')*ord('”+unichr(j)+“')+单词('”+unichr(2014-i*j)+“')”)对于my_list中的val:打印值,'->',eval(val)

打印所有可能的书写方式2014使用布鲁诺·勒弗洛奇的方法:

单词('!')*单词(':')+单词('d')->2014ord('!')*ord(‘;')+ord('C')->2014ord('!')*ord('<')+ord(“”)->2014ord(“”)*ord(':')+ord('*')->2014单词(“)”)*单词(“/”)+单词(“W”)->2014ord('*')*ord('-')+ord('')->2014单词('*')*ord('.')+ord('R')->2014单词('*')*ord('/')+ord('(')->2014ord('+')*ord(',')+ord(‘z')->2014ord('+')*ord(‘-')+ord('O')->2014ord('+')*ord('.')+ord(‘$’)->2014ord(',')*ord(',')+ord('N')->2014ord(',')*ord('-')+ord('“')->2014

Python 2,10字节

但这显然是多余的,所以如果您的解释器默认设置为utf-8,那么只需要:

单词(u'ߞ')

在线试用!

Python 2,83字节

还有,多亏了阿梅利亚BR(对于这个想法),我尽力实现了一个纯数学版本:

从数学导入*a、 b,c=int(e),round(e)和ceil(pi);打印int(a**(b*c-(c-b))-a*a**c-a)

在线试用!

\$\端组\$
6
  • \$\开始组\$ ord(',')**2+ord('N') \$\端组\$
    – MLS公司
    评论 2014年1月7日16:42
  • 6
    \$\开始组\$ @MLS嗯,它有一个数字:) \$\端组\$ 评论 2014年1月7日23:00
  • 2
    \$\开始组\$ 我优化了你的数学版本:a、 b=整数(e),整数(pi);c=a+a;打印a**(b*c-c+b)-a*a**c-a,您可以利用以下事实完全消除数学输入真的在Python 2.x中,与操作中的整数1相同,将其减少到50个字符:o=正确;a=o+o;b=a+o;c=b+o;打印a**(b*c-o)-a*a**c-a \$\端组\$ 评论 2014年1月8日2:19
  • \$\开始组\$ 如果使用Python 3,则可以保存字符:ord(“ߞ”) \$\端组\$ 评论 2014年1月11日20:24
  • \$\开始组\$ @JoachimIsaksson数字不是数字;) \$\端组\$
    – 单价
    评论 2016年8月26日18:50
17
\$\开始组\$

R(右),20字节

@popojan(他还不允许在这里发布答案)已经在20个字符内提供了解决方案。

总和(T+T:exp(T+pi))-T

在线试用!

输出:

[1] 2014

R(右),22字节

匿名用户建议使用更短的解决方案。

strtoi(“bbc”,π*π+π)

在线试用!

2014英国广播公司在底座13中。π*pi+pi在本文中,R将(=13.0112)视为整数13。输出:

2014

R(右),30字节

猫(a<-T+T,T-T,T/T,a*a,sep=“”)

在线试用!

输出:

2014

R(右),31字节

猫(T+T、T-T、T/T、T+T+T,sep=“”)

在线试用!

灵感来源于AmeliaBR的答案.输出:

2014
\$\端组\$
6
  • \$\开始组\$ 哇,+1!我希望罗马数字解将是最好的……:( ;-) \$\端组\$
    – 托马斯
    评论 2014年1月14日15:35
  • \$\开始组\$ 以下变体可以缩短:猫(a<-T+T,T-T,T/T,a^a,sep=“”)(30个字符),锡膏0(aT+T,T-T,T/T,a^a)(26个字符) \$\端组\$
    – 托马斯
    评论 2014年1月15日10:16
  • \$\开始组\$ @托马斯,功能粘贴0不允许,因为它包含符号0。如果使用,您的解决方案将生成30个字符. \$\端组\$ 评论 2014年1月21日10:47
  • \$\开始组\$ 创建文件2014在当前目录中并写入list.files()-12个字符 \$\端组\$ 评论 2014年1月31日17:00
  • \$\开始组\$ @兹比内克,我希望你的解决方案在codegolf规则的一般范围内无效。 \$\端组\$ 评论 2014年2月1日9:19
15
\$\开始组\$

Java(JDK),7775字节

75个字符,如果打印使用main方法添加到类中:

类C{公共静态void main(String[]a){System.out.print('#'*'<'-'V');}}

在线试用!

这意味着35*60-86等于2014年

\$\端组\$
15
  • 2
    \$\开始组\$ 我喜欢你的公式。 \$\端组\$ 评论 2014年1月1日23:30
  • 7
    \$\开始组\$ 这实际上需要更长的时间,因为类定义需要在其中才能运行。我知道的最短方法(使用Java 6):类a{static{System.out.println('#'*'<'-'V');}} \$\端组\$
    – 贾斯廷
    评论 2014年1月2日0:29
  • 1
    \$\开始组\$ @Quincunx,在Java 7中,需要一个main方法 \$\端组\$ 评论 2014年1月2日20:53
  • 2
    \$\开始组\$ @TrueSoft Note我说“使用Java 6”。您应该选择尽可能短的Java。 \$\端组\$
    – 贾斯廷
    评论 2014年1月3日0:43
  • 2
    \$\开始组\$ 你可以删除println中的'ln'以减少字符数。。。 \$\端组\$ 评论 2014年1月3日10:22
14
\$\开始组\$

首席法官,2字节

韩国

在线试用!

K(K)E类是预设为20和14的变量。
我在2014年创建了CJam,所以如果它不合格也没关系。

\$\端组\$
1
2 4 5
12

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.