什么是最短的Perl单行打印出硬编码的2位十进制的前9个幂(例如,.37),每个都在自己的行上?
输出看起来像:
1
0.37
0.1369
[etc.]
Run Code Online (Sandbox Code Playgroud)
官方Perl高尔夫规则:
回到ITAR时代,有一个流行的sig执行Diffie-Hellman密钥交换:
#!/usr/bin/perl -- -export-a-crypto-system-sig Diffie-Hellman-2-lines
($g,$e,$m)=@ARGV,$m||die"$0 gen exp mod\n";print`echo "16dio1[d2%Sa2/d0<X+d
*La1=z\U$m%0]SX$e"[$g*]\EszlXx+p|dc`
Run Code Online (Sandbox Code Playgroud)
使用现代直流电,这可以减少到相当多:
dc -e '16dio???|p'
Run Code Online (Sandbox Code Playgroud)
虽然具有模幂运算命令的现代直流形式('|'通过有效的指数倍增计算g ^ e%m)可能是除了APL之外无法比拟的,原始形式是否可以改进?请记住,e和m值会非常大; 对于加密安全性,它们都将为1024位.
这是一年中的那个时候,程序员想要洗牌,以便没有元素存在于其原始位置(至少在荷兰,我们庆祝Sinterklaas并选择吸管来决定谁写一首诗).有人有一个很好的Python 单一声明吗?
那么,输入示例: range(10)
输出示例: [2,8,4,1,3,7,5,9,6,0]
错误的输出将是[2,8,4,1,3,5,7,9,6,0]
因为5
它处于原始位置.这意味着5人必须为自己写一首诗,这样就不那么有趣了.
编辑许多人只要需要幸运就重复这项任务,并发现事实上解决方案是令人满意的.这是一种糟糕的方法,因为理论上这可能需要很长时间.巴特确实提出了更好的方法,但由于某种原因,我不能把它变成一个oneliner ......
编辑通过oneliner,我的意思是单一陈述.看起来,Python也能够在一行上压缩多个语句.我不知道.目前有非常好的解决方案,只使用分号来模拟单行上的多线行为.因此:"你能在一个声明中做到吗?"
有没有人记得几年前像Byte这样的杂志,人们竞相制作用一行代码编写的最功能的代码片段?我记得像Pole Position这样的游戏有滚动文本等,而分形图形就是这样做的.
像C#和Java这样的现代语言在一个声明中是无穷无尽的,有没有人知道现在有类似的东西?这也是鼓舞人心和有趣的东西.
我想参加像代码高尔夫比赛这样的比赛,但获胜者将拥有最快的算法,而不是最小的代码.
例如,代码
public class simple {
public static int main(String argc[]) {
int i;
i = 3;
while (i > 0) {
i--;
}
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
生成JVM代码
0: iconst_3
1: istore_1
2: iload_1
3: ifle 12
6: iinc 1, -1
9: goto 2
12: iconst_0
13: ireturn
Run Code Online (Sandbox Code Playgroud)
它需要(如果我已经正确计算)18个JVM指令来运行.
我希望人们能够在家里办理他们的参赛作品,看看评委会看到什么.显然,如果我将输入提供给程序,最快的解决方案是吐出记忆的预先计算的答案.有没有办法客观地让人们在家里运行程序而不是看到回忆的答案?
还有哪些其他问题阻碍了非正式的"最快的代码竞争"的发生?
谢谢!
我正在为我自己的个人工具包lib添加一个函数来进行简单的CSV到HTML表转换.
我想在C#中使用尽可能最小的代码来完成此操作,并且它需要能够处理超过~500mb的CSV文件.
到目前为止,我的两个竞争者是
通过分隔符将csv拆分为数组并构建HTML输出
使用表格标记的搜索替换分隔符
假设已经处理了文件/读取/磁盘操作...即,我将包含所述CSV内容的字符串传递给此函数.输出将由直接简单的HTML样式标记组成,是的,数据可能在其中有杂散逗号和中断.
更新: 有些人问.如果有帮助,100%我处理的CSV直接来自excel.
a1,b1,c1\r\n a2,b2,c2\r\n
什么是" 计算第n个素数 " 的最短C代码?
在重要字符方面最短,即分号,非空白字符,关键字和逗号的数量.
标准输入中的整数n,由新行分隔.输入将由EOF终止.
在输入n之后,将第n个素数打印到由新行分隔的标准输出.
(您可以假设素数<10,000,即n <1,230.)
Input:
1
2
4
8
32
999
42
5
Output:
2
3
7
19
131
7907
181
11
Run Code Online (Sandbox Code Playgroud)
我的尝试:
#define m 10000
a[m],b[m],x;
main(i,j){
for(i=2;i<m;i++)
{
if (!a[i])
for (b[++x]=i,j=2*i;j<m;j+=i)
a[j]=1;
}
for(;~scanf("%d",&i);printf("%d\n",b[i]));
}
Run Code Online (Sandbox Code Playgroud)
对于这个问题,可读性不是一个问题.在时间和内存方面更昂贵的代码,但满足约束将在这里被认为更好.
if x < change.pageX # pageX is cross-browser normalized by jQuery
val = Number(elem.text())
return elem.text(o.max) if val + o.step > o.max
return elem.text(o.min) if val + o.step < o.min
elem.text(val + o.step)
else x > change.pageX
# same thing, only - instead of +
Run Code Online (Sandbox Code Playgroud)
(咖啡脚本,但你明白了).我正在寻找一个获取布尔值并将其转换为1(真)或-1(假)的技巧.这样我就能做到val + converted_bool * o.step
并保存一个if.
code-golf ×8
algorithm ×1
c ×1
c# ×1
coffeescript ×1
cryptography ×1
csv ×1
history ×1
java ×1
javascript ×1
jquery ×1
jvm ×1
math ×1
perl ×1
primes ×1
public-key ×1
python ×1
shuffle ×1