厌倦了闪存的可靠性,您决定将所有程序存储在这些旧的1,440 KiB软盘之一中。但是,即使复制不到3,000个程序,磁盘也已满。那怎么可能呢?就像您一样,精通代码高尔夫球技术,大多数程序甚至都没有100字节长,因此应该留有足够的空间...
在“超级用户”上查询该文件后,您发现文件系统的群集大小使您感到困惑,这是FAT12设计人员的恶作剧,使您的软盘中的大部分未被使用,并迫使您购买超出实际需要的容量。
买更多的软盘?决不!如果我们仅将多个程序保存在一个文件中,则群集大小将不再是一个问题,这是可能的,因为对于相同的源代码,不同的编译器/解释器的行为将有所不同。
任务
编写一个适合单个群集(小于或等于512个字节)的多语种,并尽可能解决以下许多任务。
读取所有输入并打印。
打印您好,世界!。
读取一行/参数(name)作为输入,并打印生日快乐[name]!。
阅读所有输入并打印我爱的标签!如果它包含一个或多个制表符(0x09),并且我讨厌空格!如果没有。
读取两行/参数,如果第二行是第一行的子字符串,则打印真实值,否则输出虚假值。
读取一行/自变量,如果字符严格按升序打印,则输出真实值;否则,输出虚假值。
读取行/参数和一个字符,并打印该字符所有出现的索引。
读取一行/自变量并打印出现次数最多的任何字符。
读取两个介于0和255之间的整数,并打印它们的总和。
读取0到255之间的单个整数,并打印除以7的商和余数。
读取一个介于1到255之间的整数,如果它是一个复合数字(既不是1也不是素数),则输出一个真实值,如果不是,则输出一个虚假值。
读取一个介于1到255之间的整数,如果它是2的幂,则打印一个真实值,如果不是,则打印一个虚假值。
读取0到255之间的两个整数,并打印较大的整数。
读取介于0到255之间的十进制整数,打印其十六进制表示形式。
读取0到255之间的单个整数并打印其汉明权重(1位的数量)。
读取1到13之间的单个整数n并打印F n,第n 个斐波那契数。
例如,对于输入
13
,print233
。
读取一行输入/参数并对其进行构图。
例如,对于input
Programming Puzzles & Code Golf
,输出:+---------------------------------+ | Programming Puzzles & Code Golf | +---------------------------------+
读取一个矩形的字符块并将其顺时针旋转四分之一圈。
例如,对于输入
tye xll epb tma id sa s e i r hsn Tiu
打印此:
This text is simply unreadable
读取1到40之间的整数,并打印该边长的菱形。
例如,对于input
3
,输出:/\ / \ / \ \ / \ / \/
打印此:
....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ ....@@@@....@@@@....@@@@....@@@@ @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@.... @@@@....@@@@....@@@@....@@@@....
计分
设法将最大数量的程序合并到适合单个512字节群集的单个文件中的答案将获胜。领带按字节数断开(越低越好)。
附加规则
对于要索取分数的每个任务,必须使用您选择的语言,用相同的文件(每个字节一个字节)构成一个完整的程序,以解决该特定任务。
每个任务必须用不同的语言解决。
如果语言不是同一语言的不同版本,则它们被视为不同。例如,只有一种JavaScript,一种Python和一种TI-BASIC,但是C,C ++,Octave和MATLAB是四种不同的语言。
为每个任务选择的语言必须满足我们对编程语言的通常定义。
此外,该语言必须在2015年9月9日之前发布和实施。
您的编译器/解释器可能不需要任何非标准标志即可产生预期的行为。
该规则的例外包括指定特定语言,从(单个)文件读取程序或禁止显示横幅所需的标志。
每个任务的输入将由可打印的ASCII字符(0x20至0x7E)和换行符(0x0A)组成,并且长度不得超过255个字节。
除非任务中另有说明,否则所有整数都可以十进制或一元形式读取。
无效输入的行为是不确定的。
您可以从STDIN(或与其最接近的替代品)或命令行参数中读取输入。
如果任务需要读取两个输入,则可以按任意顺序读取它们,并以一个字节的定界符分隔它们,将其作为单独的命令行参数,或者将其从STDIN中分离出来,将另一个作为命令行参数。
如果输入段之一是行,则唯一可能的定界符是换行符。
将输出打印到STDOUT(或最接近的替代品)。所有输出到STDERR的都将被忽略。
对于每个任务,均适用标准代码高尔夫球规则。
2>/dev/null
并将正确的输出输出到stdout时,可以吗?只是要确定。