按字符数排序的最短代码,将输出Excel列字符串的数字等效值.
例如,A列为1,B为2,依此类推.一旦你点击Z,下一列变为AA,然后AB依此类推.
A: 1
B: 2
AD: 30
ABC: 731
WTF: 16074
ROFL: 326676
Run Code Online (Sandbox Code Playgroud)
代码计数包括输入/输出(即完整程序).
按字符数最短的代码,根据用户输入输出玩砖塔系列.
输入将是一系列数字(正数,负数和零),表示当前立方体塔在其索引之后的高度.高度为0表示没有塔并且间隔开.
立方体塔由堆积的立方体组成.如果当前索引上的输入数字为正,则立方体会上升,如果输入数字为负数,则立方体会下降.使用以下4行绘制单个立方体:
__ /__ /| | | | |___|/
立方体是3D - 这意味着当两个塔彼此相邻放置时它们彼此隐藏,产生假视角.
可以假设所有输入都是有效且没有错误 - 每个数字在一行上用空格分隔,至少有一个数字.
Input:
2 -3 -2 1 2 -1
Output:
__ __
/__ /| /__ /|
| | | _| | |
|___|/| /__|___|/|
| | |__ _| | | |__
|___|/__ /__|___|___|/__ /|
| | | | | | |
|___|___|/| |___|/
| | | |
|___|___|/
| | |
|___|/
Input:
1 2 3 4 -2 4 3 2 1
Output:
__ … 按字符数排序的最短代码,它将仅使用字母字符(大写和小写),数字,逗号,句点和问号输入字符串,并返回摩尔斯电码中字符串的表示形式.摩尔斯电码代码输出应包括一个短音(-ASCII 0x2D)用于长音(AKA'dah')和一个点(.,ASCII 0x2E)用于短蜂鸣音(AKA'dit').
每个字母应用空格(' 'ASCII 0x20)分隔,每个字应用正斜杠(/ASCII 0x2F)分隔.
摩尔斯电码表:
替代文字http://liranuna.com/junk/morse.gif
Input:
Hello world
Output:
.... . .-.. .-.. --- / .-- --- .-. .-.. -..
Run Code Online (Sandbox Code Playgroud)
Input:
Hello, Stackoverflow.
Output:
.... . .-.. .-.. --- --..-- / ... - .- -.-. -.- --- ...- . .-. ..-. .-.. --- .-- .-.-.-
Run Code Online (Sandbox Code Playgroud)
代码计数包括输入/输出(即完整程序).
按字符排序的最短代码,用于从输入中识别和标记土地的ASCII表示中的水凹陷.
输入将是景观的ASCII表示,具有丘陵,山谷和平坦的土地.该程序应模拟景观如果被淹没将会是什么样子 - 用水填充所有山谷(角色x).
景观将始终以角色开始和停止,_并且至少2个字符长,输入最短__.
山被定义为加高,不应该用水填充:
__
_/ \_
Run Code Online (Sandbox Code Playgroud)
山谷被定义为凹陷,将被水填满,直到遇到平地:
_ _
\__/
Run Code Online (Sandbox Code Playgroud)
可以假定输入是干净的,并且仅由字符space(), newline (\n),下划线(_)以及前向和后向斜杠(/和\)组成.输入可以看作是一条连续线,以及包含模糊线输入的任何输入,如_/_或
_ _
\_/
/ \
Run Code Online (Sandbox Code Playgroud)
被认为无效.
关于水下洞穴,如果洞穴水位高于水位,则应保持水位.
Input:
__/\__
\__
\ ___ ___________
/ / \_ \_
\_____/ \__ _/
\/
Output:
__/\__
\__
\ ___ ___________
/xxxxxx/ \xxxxxx\_
\xxxxx/ \xxxxx/
\/
Run Code Online (Sandbox Code Playgroud)
Input:
__ ___
/ \_____/
/ _______
________ / \ /
_____/ \ …Run Code Online (Sandbox Code Playgroud) 今天的Code Golf挑战是尽可能少地创建一个正则表达式解析器.
不,我不是要求你匹配Perl风格的正则表达式.毕竟,对于那些人来说,已经有一个非常可靠的翻译!:-)
以下是您需要了解的有关此挑战的正则表达式语法的所有信息:
().*(星号)字符表示Kleene星操作在上一届.这意味着前一个词的零个或多个连接在一起.+(加)字符表示一个方便快捷方式:a+相当于aa*,这意味着一个或多个之前的术语的.?(问号)字符代表零或前项之一.|(管)字符代表的交替,也就是说,在任一侧上的正则表达式可以在比赛中使用.[0-9A-Za-z](即所有英语字母数字).或者,换一种说法:*/ +/ ?具有最高的优先级,然后串联,然后交替.由于交替的优先级低于连接,因此在没有括号的正则表达式中使用它会导致它被绑定到每一侧的完整正则表达式.*和+和?,在另一方面,将只适用于前一学期.
您的挑战是编写一个程序来编译或解释正则表达式(如上所定义),然后针对它测试一些字符串.
我要把输入留给你了.我的建议是,正则表达式可能应该首先出现,然后对任何数量的字符串进行测试; 但如果你想让它持久,那很好.如果你想把所有东西放在命令行参数或stdin,或命令行中的正则表达式和stdin中的字符串,或其他什么,那很好.只显示一两个用法示例.
输出应该是true或false每行一个,以反映正则表达式是否匹配.
笔记:
()*+?|都不会按字面意思出现.如果输入中有一个,可以安全地假设没有模式可以匹配相关字符串.对于这些示例,我假设一切都是在命令行参数中完成的,首先是regex.(正如我上面所说,输入取决于你.)myregex这里代表你对程序的调用.
> myregex easy easy Easy hard
true
false
false
> myregex ab*a aa …Run Code Online (Sandbox Code Playgroud) 我刚刚在UVA的在线评审中遇到了这个小问题,并且认为它可能是一个小代码高尔夫的好候选人.
问题:
您将设计一个程序,以帮助建筑师根据城市中建筑物的位置绘制城市的天际线.为了使问题易于处理,所有建筑物都是矩形的,并且它们共用一个共同的底部(它们内置的城市非常平坦).这个城市也被视为二维的.建筑物由有序三元组(Li,Hi,Ri)指定,其中Li和Ri分别是建筑物i和Hi的左右坐标,是建筑物的高度.

在下图中,建筑物在左侧显示为三元组
(1,11,5), (2,6,7), (3,13,9), (12,7,16), (14,3,25), (19,18,22), (23,13,29), (24,4,28)
Run Code Online (Sandbox Code Playgroud)
右边显示的天际线由序列表示:
1, 11, 3, 13, 9, 0, 12, 7, 16, 3, 19, 18, 22, 3, 23, 13, 29, 0
Run Code Online (Sandbox Code Playgroud)
输出应包含描述天际线的矢量,如上例所示.在天际线矢量(v1,v2,v3,... vn)中,i是偶数的vi表示水平线(高度).i是奇数的vi表示垂直线(x坐标).天际线矢量应该表示所采取的"路径",例如,从最小x坐标开始并在定义天际线的所有线上水平和垂直行进的bug.因此,天际线矢量中的最后一个条目将为0.坐标必须用空格分隔.
如果我不计算提供(测试)建筑物的声明并包括所有空格和制表符,我的解决方案在Python中长度为223个字符.
这是精简版:
B=[[1,11,5],[2,6,7],[3,13,9],[12,7,16],[14,3,25],[19,18,22],[23,13,29],[24,4,28]]
# Solution.
R=range
v=[0 for e in R(max([y[2] for y in B])+1)]
for b in B:
for x in R(b[0], b[2]):
if b[1]>v[x]:
v[x]=b[1]
p=1
k=0 …Run Code Online (Sandbox Code Playgroud) 按字符计算的最短代码根据用户输入输出沙漏.
输入由两个数字组成:第一个数字是大于1的整数,表示灯泡的高度,第二个数字是沙漏容量的百分比(0 - 100).
沙漏的高度是通过向沙漏的灯泡添加更多线条来实现的,因此尺寸2(最小可接受尺寸)将是:
_____
\ /
\ /
/ \
/___\
Run Code Online (Sandbox Code Playgroud)
尺寸3将增加更多的线条,使灯泡能够适应更多的"沙子".
将使用角色绘制沙子x.顶部灯泡将包含N%的"沙子",而底部灯泡将包含(100 - N)%的沙子,其中N是第二个变量.
"容量"是通过沙漏所包含的空格()来衡量的.如果百分比不准确,则应将其四舍五入.
沙子是从外面抽出的,如果百分比结果是偶数,则给出右侧优先权.
Input:
3 71%
Output:
_______
\x xx/
\xxx/
\x/
/ \
/ \
/__xx_\
Run Code Online (Sandbox Code Playgroud)
Input:
5 52%
Output:
___________
\ /
\xx xx/
\xxxxx/
\xxx/
\x/
/ \
/ \
/ \
/ xxx \
/xxxxxxxxx\
Run Code Online (Sandbox Code Playgroud)
Input:
6 75%
Output:
_____________
\x x/
\xxxxxxxxx/
\xxxxxxx/
\xxxxx/
\xxx/
\x/
/ \
/ \
/ \
/ \ …Run Code Online (Sandbox Code Playgroud) 编写一个充当Fractran解释器的程序.任何语言的字符数最短的翻译都是赢家.你的程序必须有两个输入:要执行的fractran程序和输入整数n.该程序可以是任何方便您的程序的形式 - 例如,2元组列表或平面列表.输出必须是单个整数,是执行结束时寄存器的值.
Fractran是John Conway发明的一种微不足道的深奥语言.fractran程序由一系列正分数和一个初始状态n组成.解释器维护一个程序计数器,最初指向列表中的第一个部分.Fractran程序以下列方式执行:
有关Fractran如何以及为何如此工作的详细信息,请参阅esolang条目以及关于良好数学/错误数学的此条目.
节目: [(3,2)]
输入: 72(2 3 3 2)
输出: 243(3 5)
节目: [(3,2)]
输入: 1296(2 4 3 4)
输出: 6561(3 8)
节目: [(455,33),(11,13),(1,11),(3,7),(11,2),(1,3)]
输入: 72(2 3 3 2)
输出: 15625(5 6)
奖金测试矢量:
您的提交无需正确执行此最后一个程序即可成为可接受的答案.但是如果有的话会感到荣幸!
节目: [(455,33),(11,13),(1,11),(3,7 ),(11,2 ),(1,3)]
输入: 60466176(2 10 3 10)
输出: 7888609052210118054117285652827862296732064351090230047702789306640625(5 100)
程序严格按字符长度排列 - 最短是最好的.随意提交一个布局合理,文档化和代码的"缩小"版本,以便人们可以看到正在发生的事情.
语言'J'不可接受.这是因为在其中一个链接页面上已经有一个众所周知的J解决方案.如果你是J粉丝,抱歉!
然而,作为额外奖励,任何能够在 fractran中提供工作分形翻译 …
你可能还记得你小时候的这些图画,但现在是时候让电脑画出来了(完整的ascii辉煌).玩得开心!
描述:
输入是多行(由换行符终止),描述"字段".这个领域散布着"数字"(由空格分隔).所有行都可以被认为是相同的长度(您可以将空格填充到末尾).
任务:
以这些数字的自然顺序
绘制线条(1 -> 2 -> 3 -> ...N)(假设N <= 99),具有以下特征:
+'字符替换数字-'|'/\重要笔记:
当绘制类型为4和5的线时,您可以假设(给定点与坐标x1,y1和x2,y2连接)distance(x1,x2) == distance(y1,y2).或换句话说(如用户jball评论):"非水平或垂直对齐的连续元素始终与斜杠或反斜杠的斜率对齐".
重要的是遵循点连接的顺序(较新的线可以击出较旧的线).
- 样本输入1 -
8
7 6
10 9
5
3 4
11
12 13
1 2
- 样本输出1 -
+
/|
/ +--+
+--------+ \
/ \
/ +
/ |
/ +--+
+ |
\ |
+------------------------+
+--------------------------+
- …
这是周日,一轮代码高尔夫的时间!
通过字符计数写出最短的源代码,以确定输入数字是"幸福素数","悲伤素数","快乐非素数"还是"悲伤非素数".
输入应该是来自命令行参数或stdin的整数.不要担心处理大数字,但如果可以/想要这样做.对于小于1的输入值,行为将是未定义的,但是1具有明确的结果.
输出应该打印数字的类型:"快乐素数","悲伤素数","快乐非素数"或"悲伤的非素数".尾随换行符是可选的.
$ happyprime 139
happy prime
$ happyprime 2
sad prime
$ happyprime 440
happy non-prime
$ happyprime 78
sad non-prime
Run Code Online (Sandbox Code Playgroud)
以防你的大脑需要复习.
来自维基百科,
甲快乐数由下面的过程来定义.从任何正整数开始,将数字替换为其数字的平方和,并重复该过程,直到数字等于1(它将保持不变),或者在一个不包括1的循环中无休止地循环.这些数字这个过程在1结束的是快乐的数字,而那些不以1结尾的是不愉快的数字(或悲伤的数字).
例如,