目的是编写一个简单的“ 99瓶啤酒”程序..该程序在至少两种不同的语言(例如,Python 2和Python 3)中无效。它必须是将运行或编译的完整文件。
有趣的答案应该被投票,但紧凑性也很重要。(当然,语言多样性是主要目标。)
编辑:我会说,要有普通的C代码,用C ++和Objective-C做同样的事情,就算是派生类。该代码应该做一些聪明的事情,以使行在不同的语言中具有不同的含义。
目的是编写一个简单的“ 99瓶啤酒”程序..该程序在至少两种不同的语言(例如,Python 2和Python 3)中无效。它必须是将运行或编译的完整文件。
有趣的答案应该被投票,但紧凑性也很重要。(当然,语言多样性是主要目标。)
编辑:我会说,要有普通的C代码,用C ++和Objective-C做同样的事情,就算是派生类。该代码应该做一些聪明的事情,以使行在不同的语言中具有不同的含义。
Answers:
更新:我整理了一个jsfiddle,可以帮助可视化这五种语言中每种语言的代码路径:http : //jsfiddle.net/wK6bD/4/embedded/result/
替代版本,它删除所有注释,并压缩所有无关紧要的字符串,正则表达式和替换模式:http : //jsfiddle.net/wK6bD/5/embedded/result/
我当时在保存一个字节。原来C有一个不必要的分号;)
#/*<?php ob_clean();"
s='''*/include<stdio.h>
main($y){char*$s,$t[3],$u[3]/*';'''
def printf(a,*b):import sys;sys.stdout.write(a%b)
for y in range(99,-1,-1):
'''
99.downto(0){|y|$y=y;"/*=;#*/;
for($y=100;$y--;){
#/*"
$u=(($t=$y)+99)%100;'*/
sprintf($t,"%d",$y);sprintf($u,"%d",($y+99)%100);
#//';#'''
printf("%s bottle%s of beer on the wall, %s bottle%s of beer.\n%s",
#/* -- THIS LINE ENDS WITH CR --
y//1or'No more','s'[:y!=1],y or'no more','''s*/
+$y>0?$t:"No more",$s=$y!=1?"s":"",$y>0?$t:"no more",$s,$y>0?
#//'''[:y!=1],y and'''
"Take one down and pass it around":
#//'''[6:38]or
"Go to the store and buy some more");
printf(", %s bottle%s of beer on the wall.\n\n",
#/* -- THIS LINE ENDS WITH CR --
y//1-1and~-y%100or'no more','''s*/
+$y!=1?$u:"no more",$y!=2?"s":"");}
#/*?><?php "
%w;q(*/
}//";#'''[:y!=2])
请注意:此文件需要使用混合行尾保存。所有的线应与被终止LF
(炭10,又名UNIX风格),除了标记两条线-- THIS LINE ENDS WITH CR --
,这应当与被终止CR
(炭13,又名MAC-样式)。我建议使用notepad ++或其他允许您手动编辑行尾的文本编辑器。
对于PHP,假定output_buffering
已启用。根据文档,Off
无论使用什么ini
设置,都将其硬编码为使用CLI时的方式,因此需要显式(重新)启用它:
$ php -d output_buffering=4096 bottles.pl.php.py.rb.c
这将启用4kb缓冲区,即“推荐”值。如果您使用提供的ini
s 之一,则已经设置了它,因此它应从任何Web服务器按原样运行。
文件总大小为823字节(不包括有关行尾的注释),每种语言平均164.6字节。
经过测试的版本
C -gcc 4.8.1,cl 15.00
Perl -5.16.2
PHP -5.4.16
Python -2.7.6,3.3.4
Ruby -1.8.7,1.9.3
所有五种语言的输出都相同(请参见下文)。
<?php '>#'
;for($i='no more';100>($a="$i bottle".(2^($i+=1)?'s':'').' of beer');$o="
Take one down and pass it around, $b.
".ucfirst($f="$b, $a.$o")){$b="$a on the wall";}print"$f
Go to the store and buy some more, $b.";
我喜欢这个,因为它很短,所以我要离开它。它还演示了多少Perl想成为的PHP;)
用法示例:
$ perl bottles
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.
...
2 bottles of beer on the wall, 2 bottles of beer.
Take one down and pass it around, 1 bottle of beer on the wall.
1 bottle of beer on the wall, 1 bottle of beer.
Take one down and pass it around, no more bottles of beer on the wall.
No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
#define do {
#define then {
#define end }
#define def int
#define nil {
#define print(a,b) printf("%d%s", a, b)
def bottle(i)
nil
print(i, (i==1)?" bottle":" bottles");
end
i=0;
def main()
nil
i = 99;
while(i>=1) do
bottle(i);
puts(" of beer on the wall, ");
bottle(i);
puts(" of beer.\nTake one down and pass it around,");
if(i==1) then
break;
end
bottle(i-1);
puts(" of beer on the wall.");
puts("");
i-=1;
end
puts("no more bottles of beer on the wall.");
puts("");
puts("No more bottles of beer on the wall,");
puts("no more bottles of beer.");
puts("Go to the store and buy some more,");
puts("99 bottles of beer on the wall.");
end
#if 0
main
#endif
标准化语法后,它们实际上非常相似!:P
编辑:添加和Ruby
编辑2:
编码:
//#<?php
;
$i = 99;
$php = ![];
$o = 'of beer';
$ruby = 0x0 != '';
$t = $php ? '' : '//#';
$js = !$ruby && 1 + '0' == '10';
$s = 'Go to the store and buy some more, 99 bottles of beer on the wall.';
$c = 'print($t ." 99 BOTTLES OF BEER #\\\\\\\\\\n"); while($i>=0) { $j = $i; $k = ($i-1); $b = $i!=1 ? " bottles " : " bottle "; print("\\n" .($i > 0 ? $j : "No more") .$b .$o ." on the wall, " .($i > 0 ? $j : "no more") .$b .$o .".\\n" .($i > 0 ? "Take one down and pass it around, " .($i > 1 ? $k : "no more") ." bottle" .($i != 2 ? "s " : " ") .$o ." on the wall." : $s) ."\\n"); $i-=1; }';
$c = $js ? $c.replace('."\\n"','').replace(RegExp(' [.]','g'),'+').replace(RegExp('print','g'), typeof(console) != 'undefined' ? 'console.log' : 'print') : $c;
$c = $ruby ? $c.gsub('{',"do\n").gsub('}',"\nend").gsub(' .',' << ').gsub('$i;','$i.to_s;').gsub('1)','1).to_s') : $c;
eval($c);
输出:
D:\>node polyglot
//# 99 BOTTLES OF BEER #\\
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.
* * *
2 bottles of beer on the wall, 2 bottles of beer.
Take one down and pass it around, 1 bottle of beer on the wall.
1 bottle of beer on the wall, 1 bottle of beer.
Take one down and pass it around, no more bottles of beer on the wall.
No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
$i = 9*11;
我以为我会去的。
编辑:压缩一点。
//99 BOTTLES OF BEER\\<br/><br/><?PHP function cat($a,$b){return $a.$b; }/*
#include<iostream>
#include<string>
#define echo(a) std::cout << a
#define cat(a,b) a<<b
int $bottles;
std::string $endline = "\n";
std::string $bottlesname;
int isset(std::string){ echo("//99 BOTTLES OF BEER\\\\\n\n"); return true; }
int main()
/**/
{
if(!isset($endline))
$endline = "<br/>";
$bottles = 99;
$bottlesname = " bottles";
while( $bottles > 0 ){
echo(cat(cat($bottles, $bottlesname ), " of beer on the wall, "));
echo(cat(cat(cat(cat($bottles, $bottlesname ), " of beer."), $endline), "Take one down and pass it around, "));
$bottlesname = --$bottles==1?" bottle":" bottles";
if( $bottles == 0 )
echo("no more");
else
echo($bottles);
echo(cat(cat(cat($bottlesname," of beer on the wall."),$endline),$endline));
}
echo(cat("No more bottles of beer on the wall, no more bottles of beer.",$endline));
echo(cat(cat("Go to the store and buy some more, 99 bottles of beer on the wall.",$endline),$endline));;
}
这可以像C ++一样编译良好,并且如果通过PHP运行,将吐出一些不错的HTML。无论哪种方式,输出为:
//99 BOTTLES OF BEER\\
99 bottles of beer on the wall, 99 bottles of beer.
Take one down, pass it around, 98 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
Take one down, pass it around, 97 bottles of beer on the wall.
...
3 bottles of beer on the wall, 3 bottles of beer.
Take one down, pass it around, 2 bottles of beer on the wall.
2 bottles of beer on the wall, 2 bottles of beer.
Take one down, pass it around, 1 bottle of beer on the wall.
1 bottle of beer on the wall, 1 bottle of beer.
Take one down and pass it around, no more bottles of beer on the wall.
No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
结合功能性和命令性语言!
{-0;}
function cast($x){ return $x; }
function bottle($n){
/*-}
import Prelude hiding ((.)){-*///-};(*/) = ($){-
/*-}
(.) = (++)
cast f = show $ f id
f :: Int -> [String]
f n = id */ return (cast($n) . " bottles of beer on the wall, " . cast($n) . " bottles of beer.\nTake one down and pass it around, " . cast($n-1) . " bottles of beer on the wall.\n\n");
{-0;}};echo"<pre>";for($x=99;$x>1;$x-=1)echo bottle($x);echo/*-}
main = (\x->putStr$(concat$[99,98..2]>>=f)++x)*/"1 bottle of beer on the wall, 1 bottle of beer.\nTake one down and pass it around, no more bottles of beer on the wall.\n\nNo more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n\n";
在Haskell中,我定义了*/
使使用PHP注释更容易的函数!
高炉的来源:http : //www.99-bottles-of-beer.net/language-brainfuck-1718.html
++>+>++>>+>>>++++++++++[->+>+>++++++++++<<<]>>>>++++++++++[->+++++>++++++++++>++
+++++++++>++++++++>++++++++>+++>++++>+<<<<<<<<]+>--+>+++>++++++>--+>+++++>+++>++
+++>+>+>+>+>++>+>+>++[-<]<<<<<<<[->>[>>>>>>>>[<<<<<<<[->[-]>>>>>>>>>>>.<----.>>>
.<<<--.++.+++.+<-.+<<+<<<<<<<<]+>[-<[-]>>>>>[>>>+<<<<+<+<+>>>-]<<<[->>>+<<<]>[>>
>>>>+<<<<<<-]>>>>>[[-]>.<]<<<<[>>>>>-<<<<<-]>>[<<+<+<+>>>>-]<<<<[->>>>+<<<<]>[>>
>>>>+<<<<<<-]>>>>>>.<<<<<[>>>>>-<<<<<-]>>>[-<<<+<+>>>>]<<<<[->>>>+<<<<]>-[[-]>>>
>+<<<<]<<<]+>>>>>>>>>>>>>.<<<<----.>----.+++++..-<++++++++++.-------.<<[[-]>>>.<
<<]>>>>>>.<<<----.<+.>>>>.<<<<----.+++..+>+++.+[>]+>+>[->+<<-<-<<<.<<<----.-.>>>
.<<<++++++.<++.---.>>>>.<<<+++.<----.+++++++++++..------>---->------------------
-------------->>>++.-->..>>>]>>>[->[-]<<<<<<<[<]<[-]>>[>]>>>>>]+>[-<[-]<<<<[->>[
->+<<<<-<<<.<<<----.-.>>>.<<<++++++.<++.---.>>>>.<<<+++.<----.+++++++++++..-----
->---->++++++++++++++++++++++++++++++++>>>.<.>>>>>>]<<]<[->>>>[-<<+<<<<++.-->.[<
]<<<<<<<<[->[-]<]+>[-<[-]>>>>>>>>>>>>>.<<<-----.++++++++++.------.>>>>.<<<----.-
.<.>>>>.<<<<-.>+.++++++++.---------.>>>.<<<<---.>.<+++.>>>>.<<<++.<---.>+++..>>>
.<<<<++++++++.>+.>>>.<<<<--------.>--.---.++++++.-------.<+++.++>+++++>>>>.<.[<]
<<<<<<<]+>>>>>>-<<<+>>[<<[-]<+<+>>>>-]<<<<[>-<[-]]>[->>>+<<<]>[->->+++++++++<<]>
>>>>[>]>>>>]<<<<]>>>>>>]+<<<<<<<[<]<]+<+<<<<<<+<-]>>>>>>>>>>[>]>>>>>[->[-]<]+>[-
<[-]<<<<<<<<<-------------.<<----.>>>.<<<+++++.-----.>>>.<<<+++++.<++.---.>>>>.<
<<-.+.-----.+++.<.>>>>.<<<<----.>----.<+++.>>>>.<<<<--.>+++++++.++++.>>>.<<<----
--.----.--.<+++.>>>>.<<<.++.+++.+<.+>>>>>.<.>>>>>>>>>]+<[-]+<[-]<[-]<[-]+<<<[<]<
[-]<[-]<[-]<[-]++++++++++[->+>+>++++++++++<<<]>->->-<<<<<<[-]+<[-]<+<<]
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.
98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.
97 bottles of beer on the wall, 97 bottles of beer.
Take one down and pass it around, 96 bottles of beer on the wall.
96 bottles of beer on the wall, 96 bottles of beer.
Take one down and pass it around, 95 bottles of beer on the wall.
95 bottles of beer on the wall, 95 bottles of beer.
Take one down and pass it around, 94 bottles of beer on the wall.
94 bottles of beer on the wall, 94 bottles of beer.
Take one down and pass it around, 93 bottles of beer on the wall.
93 bottles of beer on the wall, 93 bottles of beer.
Take one down and pass it around, 92 bottles of beer on the wall.
92 bottles of beer on the wall, 92 bottles of beer.
Take one down and pass it around, 91 bottles of beer on the wall.
91 bottles of beer on the wall, 91 bottles of beer.
Take one down and pass it around, 90 bottles of beer on the wall.
90 bottles of beer on the wall, 90 bottles of beer.
Take one down and pass it around, 89 bottles of beer on the wall.
89 bottles of beer on the wall, 89 bottles of beer.
Take one down and pass it around, 88 bottles of beer on the wall.
88 bottles of beer on the wall, 88 bottles of beer.
Take one down and pass it around, 87 bottles of beer on the wall.
87 bottles of beer on the wall, 87 bottles of beer.
Take one down and pass it around, 86 bottles of beer on the wall.
86 bottles of beer on the wall, 86 bottles of beer.
Take one down and pass it around, 85 bottles of beer on the wall.
85 bottles of beer on the wall, 85 bottles of beer.
Take one down and pass it around, 84 bottles of beer on the wall.
84 bottles of beer on the wall, 84 bottles of beer.
Take one down and pass it around, 83 bottles of beer on the wall.
83 bottles of beer on the wall, 83 bottles of beer.
Take one down and pass it around, 82 bottles of beer on the wall.
82 bottles of beer on the wall, 82 bottles of beer.
Take one down and pass it around, 81 bottles of beer on the wall.
81 bottles of beer on the wall, 81 bottles of beer.
Take one down and pass it around, 80 bottles of beer on the wall.
80 bottles of beer on the wall, 80 bottles of beer.
Take one down and pass it around, 79 bottles of beer on the wall.
79 bottles of beer on the wall, 79 bottles of beer.
Take one down and pass it around, 78 bottles of beer on the wall.
78 bottles of beer on the wall, 78 bottles of beer.
Take one down and pass it around, 77 bottles of beer on the wall.
77 bottles of beer on the wall, 77 bottles of beer.
Take one down and pass it around, 76 bottles of beer on the wall.
76 bottles of beer on the wall, 76 bottles of beer.
Take one down and pass it around, 75 bottles of beer on the wall.
75 bottles of beer on the wall, 75 bottles of beer.
Take one down and pass it around, 74 bottles of beer on the wall.
74 bottles of beer on the wall, 74 bottles of beer.
Take one down and pass it around, 73 bottles of beer on the wall.
73 bottles of beer on the wall, 73 bottles of beer.
Take one down and pass it around, 72 bottles of beer on the wall.
72 bottles of beer on the wall, 72 bottles of beer.
Take one down and pass it around, 71 bottles of beer on the wall.
71 bottles of beer on the wall, 71 bottles of beer.
Take one down and pass it around, 70 bottles of beer on the wall.
70 bottles of beer on the wall, 70 bottles of beer.
Take one down and pass it around, 69 bottles of beer on the wall.
69 bottles of beer on the wall, 69 bottles of beer.
Take one down and pass it around, 68 bottles of beer on the wall.
68 bottles of beer on the wall, 68 bottles of beer.
Take one down and pass it around, 67 bottles of beer on the wall.
67 bottles of beer on the wall, 67 bottles of beer.
Take one down and pass it around, 66 bottles of beer on the wall.
66 bottles of beer on the wall, 66 bottles of beer.
Take one down and pass it around, 65 bottles of beer on the wall.
65 bottles of beer on the wall, 65 bottles of beer.
Take one down and pass it around, 64 bottles of beer on the wall.
64 bottles of beer on the wall, 64 bottles of beer.
Take one down and pass it around, 63 bottles of beer on the wall.
63 bottles of beer on the wall, 63 bottles of beer.
Take one down and pass it around, 62 bottles of beer on the wall.
62 bottles of beer on the wall, 62 bottles of beer.
Take one down and pass it around, 61 bottles of beer on the wall.
61 bottles of beer on the wall, 61 bottles of beer.
Take one down and pass it around, 60 bottles of beer on the wall.
60 bottles of beer on the wall, 60 bottles of beer.
Take one down and pass it around, 59 bottles of beer on the wall.
59 bottles of beer on the wall, 59 bottles of beer.
Take one down and pass it around, 58 bottles of beer on the wall.
58 bottles of beer on the wall, 58 bottles of beer.
Take one down and pass it around, 57 bottles of beer on the wall.
57 bottles of beer on the wall, 57 bottles of beer.
Take one down and pass it around, 56 bottles of beer on the wall.
56 bottles of beer on the wall, 56 bottles of beer.
Take one down and pass it around, 55 bottles of beer on the wall.
55 bottles of beer on the wall, 55 bottles of beer.
Take one down and pass it around, 54 bottles of beer on the wall.
54 bottles of beer on the wall, 54 bottles of beer.
Take one down and pass it around, 53 bottles of beer on the wall.
53 bottles of beer on the wall, 53 bottles of beer.
Take one down and pass it around, 52 bottles of beer on the wall.
52 bottles of beer on the wall, 52 bottles of beer.
Take one down and pass it around, 51 bottles of beer on the wall.
51 bottles of beer on the wall, 51 bottles of beer.
Take one down and pass it around, 50 bottles of beer on the wall.
50 bottles of beer on the wall, 50 bottles of beer.
Take one down and pass it around, 49 bottles of beer on the wall.
49 bottles of beer on the wall, 49 bottles of beer.
Take one down and pass it around, 48 bottles of beer on the wall.
48 bottles of beer on the wall, 48 bottles of beer.
Take one down and pass it around, 47 bottles of beer on the wall.
47 bottles of beer on the wall, 47 bottles of beer.
Take one down and pass it around, 46 bottles of beer on the wall.
46 bottles of beer on the wall, 46 bottles of beer.
Take one down and pass it around, 45 bottles of beer on the wall.
45 bottles of beer on the wall, 45 bottles of beer.
Take one down and pass it around, 44 bottles of beer on the wall.
44 bottles of beer on the wall, 44 bottles of beer.
Take one down and pass it around, 43 bottles of beer on the wall.
43 bottles of beer on the wall, 43 bottles of beer.
Take one down and pass it around, 42 bottles of beer on the wall.
42 bottles of beer on the wall, 42 bottles of beer.
Take one down and pass it around, 41 bottles of beer on the wall.
41 bottles of beer on the wall, 41 bottles of beer.
Take one down and pass it around, 40 bottles of beer on the wall.
40 bottles of beer on the wall, 40 bottles of beer.
Take one down and pass it around, 39 bottles of beer on the wall.
39 bottles of beer on the wall, 39 bottles of beer.
Take one down and pass it around, 38 bottles of beer on the wall.
38 bottles of beer on the wall, 38 bottles of beer.
Take one down and pass it around, 37 bottles of beer on the wall.
37 bottles of beer on the wall, 37 bottles of beer.
Take one down and pass it around, 36 bottles of beer on the wall.
36 bottles of beer on the wall, 36 bottles of beer.
Take one down and pass it around, 35 bottles of beer on the wall.
35 bottles of beer on the wall, 35 bottles of beer.
Take one down and pass it around, 34 bottles of beer on the wall.
34 bottles of beer on the wall, 34 bottles of beer.
Take one down and pass it around, 33 bottles of beer on the wall.
33 bottles of beer on the wall, 33 bottles of beer.
Take one down and pass it around, 32 bottles of beer on the wall.
32 bottles of beer on the wall, 32 bottles of beer.
Take one down and pass it around, 31 bottles of beer on the wall.
31 bottles of beer on the wall, 31 bottles of beer.
Take one down and pass it around, 30 bottles of beer on the wall.
30 bottles of beer on the wall, 30 bottles of beer.
Take one down and pass it around, 29 bottles of beer on the wall.
29 bottles of beer on the wall, 29 bottles of beer.
Take one down and pass it around, 28 bottles of beer on the wall.
28 bottles of beer on the wall, 28 bottles of beer.
Take one down and pass it around, 27 bottles of beer on the wall.
27 bottles of beer on the wall, 27 bottles of beer.
Take one down and pass it around, 26 bottles of beer on the wall.
26 bottles of beer on the wall, 26 bottles of beer.
Take one down and pass it around, 25 bottles of beer on the wall.
25 bottles of beer on the wall, 25 bottles of beer.
Take one down and pass it around, 24 bottles of beer on the wall.
24 bottles of beer on the wall, 24 bottles of beer.
Take one down and pass it around, 23 bottles of beer on the wall.
23 bottles of beer on the wall, 23 bottles of beer.
Take one down and pass it around, 22 bottles of beer on the wall.
22 bottles of beer on the wall, 22 bottles of beer.
Take one down and pass it around, 21 bottles of beer on the wall.
21 bottles of beer on the wall, 21 bottles of beer.
Take one down and pass it around, 20 bottles of beer on the wall.
20 bottles of beer on the wall, 20 bottles of beer.
Take one down and pass it around, 19 bottles of beer on the wall.
19 bottles of beer on the wall, 19 bottles of beer.
Take one down and pass it around, 18 bottles of beer on the wall.
18 bottles of beer on the wall, 18 bottles of beer.
Take one down and pass it around, 17 bottles of beer on the wall.
17 bottles of beer on the wall, 17 bottles of beer.
Take one down and pass it around, 16 bottles of beer on the wall.
16 bottles of beer on the wall, 16 bottles of beer.
Take one down and pass it around, 15 bottles of beer on the wall.
15 bottles of beer on the wall, 15 bottles of beer.
Take one down and pass it around, 14 bottles of beer on the wall.
14 bottles of beer on the wall, 14 bottles of beer.
Take one down and pass it around, 13 bottles of beer on the wall.
13 bottles of beer on the wall, 13 bottles of beer.
Take one down and pass it around, 12 bottles of beer on the wall.
12 bottles of beer on the wall, 12 bottles of beer.
Take one down and pass it around, 11 bottles of beer on the wall.
11 bottles of beer on the wall, 11 bottles of beer.
Take one down and pass it around, 10 bottles of beer on the wall.
10 bottles of beer on the wall, 10 bottles of beer.
Take one down and pass it around, 9 bottles of beer on the wall.
9 bottles of beer on the wall, 9 bottles of beer.
Take one down and pass it around, 8 bottles of beer on the wall.
8 bottles of beer on the wall, 8 bottles of beer.
Take one down and pass it around, 7 bottles of beer on the wall.
7 bottles of beer on the wall, 7 bottles of beer.
Take one down and pass it around, 6 bottles of beer on the wall.
6 bottles of beer on the wall, 6 bottles of beer.
Take one down and pass it around, 5 bottles of beer on the wall.
5 bottles of beer on the wall, 5 bottles of beer.
Take one down and pass it around, 4 bottles of beer on the wall.
4 bottles of beer on the wall, 4 bottles of beer.
Take one down and pass it around, 3 bottles of beer on the wall.
3 bottles of beer on the wall, 3 bottles of beer.
Take one down and pass it around, 2 bottles of beer on the wall.
2 bottles of beer on the wall, 2 bottles of beer.
Take one down and pass it around, 1 bottle of beer on the wall.
1 bottle of beer on the wall, 1 bottle of beer.
Take one down and pass it around, no more bottles of beer on the wall.
No more bottles of beer on the wall, no more bottles of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
,
并.
会导致问题。通过[
在英文部分之前和]
末尾添加来解决此问题。
beef
它们不会造成问题。
,
读取一个NULL
字符(U+0000
)。
<?php
$b = 99;
while(true) {
echo ($b==0 ? "No more" : $b)." bottle".($b==1 ? "" : "s")." of beer on the wall, ".($b==0 ? "no more" : $b)." bottle".($b==1 ? "" : "s")." of beer.\n";
if($b == 0) {
echo "Go to the store and buy some more";
$b = 99;
}
else {
echo "Take one down and pass it around";
$b--;
}
echo ", ".($b==0 ? "no more" : $b)." bottle".($b==1 ? "" : "s")." of beer on the wall.\n\n";
if($b == 99) break;
}
/*
발발따밤따박박나타삭밤밣따산박밦따밞뚜
우어어어어어어어어어어어어어어어어어어
아우
오사뺘뿌처밞밞따받타맣산빠받다맣삭빠맣산빠박박나다맣빠받다맣빠밦다맣빠밝타맣수
오우어명여어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어
오삭빠맣산빠발타발타맣빠받다맣빠밣다빠맣맣빠맣빠밝타맣수
오우어어어어어어어어어어어어어어멓더벍뻐선처우텨너벅벅뻐
오우어어어어어어어어어어어어어어어어어어어어어
오아삭빠맣산빠받다맣빠밦타맣삭빠맣산빠발타발타맣빠밝타빠맣맣빠밦다맣삭빠맣산빠받다맣빠박다뭏
오뭏뻐멓더벖더벖뻐석멓뻐멓뻐멓터벖터벌뻐멓더벖더벌뻐선멓뻐석멓터벍뻐멓터범뻐멓더벓뻐선멓뻐석
오사뺘뿌처산빠박다맣빠받다맣삭빠맣산빠박박나다맣빠받다맣빠밦다맣빠밝타맣수
오우어명여어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어
오삭빠맣산빠발타발타맣빠받다맣빠밣다빠맣맣빠맣빠밝타맣수
오우어어어어어어어어어어어어어어멓더벍뻐선처우텨너벅벅뻐
오우어어어어어어어어어어어어어어어어어어어어어
오삭빠맣산빠받다맣빠밦타맣삭빠맣산빠발타발타맣빠밝타빠맣맣빠밦다맣밦밝따밤다맣발발다뭏
오우어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어
오사뺘우차박밦따밝따맣산빠발타밦타맣빠박박나타맣빠밝타맣삭빠맣산빠받다맣빠박다맣빠밝타뮿
오ㅇㅇ아아밣밣따밝다맣산빠받다맣삭빠맣산빠밣다맣빠받다맣삭빠맣산빠밣다맣빠밤타맣빠밝타뮿
오뮿뻐석멓터벓뻐멓더벅뻐멓터벖터벌뻐선멓뻐석멓더벅뻐멓더벖더벌뻐멓더벋뻐멓터벓뻐선멓뻐석
오유멓터벓뻐멓더벅뻐멓터벖터벌뻐선멓뻐석멓터벍뻐멓더벖뻐멓더벋뻐멓더벓뻐멓더벍뻐선멓뻐석
오삭산빠밤다맣빠발타밦타맣빠밝다빠맣맣삭빠맣산빠받타맣빠밣다맣삭빠뮿
초삭빠맣산빠발타발타맣빠밞다빠맣밤다맣삭빠맣산빠밝다맣빠받다맣빠박박나다맣빠밝타뮿
희유어어어어어멓터벓뻐멓더벅뻐멓더벎뻐멓더벋뻐멓더벖뻐멓터벖터벌뻐선
툐우어어어어어어어어어어어어어어어어어멓터벍뻐멓더벖뻐멓더벅멓뻐더너벅벅뻐선멓뻐석
토삭빠밦다밦다맣빠뭏
노우터너벅벅처불뼈서
복우더터너벅벅뱔뗘따볌
복사뺘뿌처산빠박다맣빠받다맣삭빠맣산빠박박나다맣빠받다맣빠밦다맣빠밝타맣수
또우어명여어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어어
봄삭빠맣산빠발타발타맣빠받다맣빠밣다빠맣맣빠맣빠밝타맣수
또우어어어어어어어어어어어어어어멓더벍뻐선처우텨너벅벅뻐
볼우어어어어어어어어어어어어어어어어어어어어어
볼아삭빠맣산빠받다맣빠밦타맣삭빠맣산빠발타발타맣빠밝타빠맣맣빠밦다맣삭빠맣산빠받다맣빠박다뭏
뽀불벌멓더벍더벍뻐석멓뻐멓뻐멓터벖터벌뻐멓더벖더벌뻐선멓뻐석멓터벍뻐멓터범뻐멓더벓뻐선멓뻐석
소댜몋빠몋
Aheui已通过naheui测试。
我知道这是作弊,但无论如何仍然有效。
这将在Python 3和Julia中运行。
[[print(b, " bottles of beer on the wall, ", b, " bottles of beer.\nTake one down and pass it around, ", b-1, " bottles of beer on the wall.\n" ) for b in l] for l in [[12 * i + j + 4 for j in [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]] for i in [7, 6, 5, 4, 3, 2, 1, 0]]]
print("3 bottles of beer on the wall, 3 bottles of beer.\nTake one down and pass it around, 2 bottles of beer on the wall.\n")
print("2 bottles of beer on the wall, 2 bottles of beer.\nTake one down and pass it around, 1 bottle of beer on the wall.\n")
print("1 bottle of beer on the wall, 1 bottle of beer.\nTake one down and pass it around, no more bottles of beer on the wall.\n")
print("No more bottles of beer on the wall, no more bottles of beer.\nGo to the store and buy some more, 99 bottles of beer on the wall.\n")
这违反了规则,但我认为这是一种有趣的方式。
它是用C和C ++编写的。在C ++中,它可以完成99个标准瓶子。
在C语言中,它首先将墙填满,然后将其清空。
#include <stdio.h>
static int bottle_count = 99;
void bottles(int n, int fill) {
if (fill) {
printf("%d bottles of beer on the wall, pick one up place it away,\n", n);
bottle_count = n+1;
} else {
printf("%d bottles of beer on the wall, take one down pass it around,\n", n);
bottle_count = n-1;
}
}
void empty_wall() {
int wall;
int i;
wall = bottle_count;
int speedup;
speedup = 0;
for (i = 0; i < wall; ++i) {
if (++speedup == 4)
{
printf("...\n");
i = wall-3;
}
bottles( wall-i, 0 );
}
printf("no bottles of beer on the wall!");
}
struct b_98 {};
struct b_97 {};
struct b_96 {};
struct b_3 {};
struct b_2 {};
struct b_1 {};
struct b_0 {};
void do_stuff() {
bottle_count = 99;
b_0();
b_1();
b_2();
b_3();
if (bottle_count<99)
printf("...\n");
b_96();
b_97();
b_98();
empty_wall();
}
void b_0() { bottles(0,1); }
void b_1() { bottles(1,1); }
void b_2() { bottles(2,1); }
void b_3() { bottles(3,1); }
void b_96() { bottles(96,1); }
void b_97() { bottles(97,1); }
void b_98() { bottles(98,1); }
int main() {
do_stuff();
return 0;
}
BrainFuck和Python 2
这将在CPython2.7(可能还有其他)以及BrainFuck解释器下编译并运行。这是两种截然不同的语言,几乎没有重叠,而且这个答案完全是作弊。
# Thanks to Raphael Bois for the code (taken from http://goo(dot)gl/GddKtS)
# ++>+>++>>+>>>:++++++++++[->+>+>++++++++++<<<]>>>>++++++++++[->+++++>++++++++++>+++++++++++>++++++++>++++++++>+++>++++>+<<<<<<<<]+>--+>+++>++++++>--+>+++++>+++>+++++>+>+>+>+>++>+>+>++[-<]<<<<<<<[->>[>>>>>>>>[<<<<<<<[->[-]>>>>>>>>>>>.<----.>>>.<<<--.++.+++.+<-.+<<+<<<<<<<<]+>[-<[-]>>>>>[>>>+<<<<+<+<+>>>-]<<<[->>>+<<<]>[>>>>>>+<<<<<<-]>>>>>[[-]>.<]<<<<[>>>>>-<<<<<-]>>[<<+<+<+>>>>-]<<<<[->>>>+<<<<]>[>>>>>>+<<<<<<-]>>>>>>.<<<<<[>>>>>-<<<<<-]>>>[-<<<+<+>>>>]<<<<[->>>>+<<<<]>-[[-]>>>>+<<<<]<<<]+>>>>>>>>>>>>>.<<<<----.>----.+++++..-<++++++++++.-------.<<[[-]>>>.<<<]>>===>>>>.<<<----.<+.>>>>.<<<<----.+++..+>+++.+[>]+>+>[->+<<-<-<<<.<<<----.-.>>>.<<<++++++.<++.---.>>>>.<<<+++.<----.+++++++++++..------>---->-------------------------------->>>++.-->..>>>]>>>[->[-]<<<<<<<[<]<[-]>>[>]>>>>>]+>[-<[-]<<<<[->>[->+<<<<-<<<.<<<----.-.>>>.<<<++++++.<++.---.>>>>.<<<+++.<----.+++++++++++..------>---->++++++++++++++++++++++++++++++++>>>.<.>>>>>>]<<]<[->>>>[-<<+<<<<++.-->.[<]<<<<<<<<[->[-]<]+>[-<[-]>>>>>>>>>>>>>.<<<-----.++++++++++.------.>>>>.<<<----.-.<.>>>>.<<<<-.>+.++++++++.---------.>>>.<<<<---.>.<+++.>>>>.<<<++.<---.>+++..>>>.<<<<++++++++.>+.>>>.<<<<--------.>--.---.++++++.-------.<+++.++>+++++>>>>.<.[<]<<<<<<<]+>>>>>>-<<<+>>[<<[-]<+<+>>>>-]<<<<[>-<[-]]>[->>>+<<<]>[->->+++++++++<<]>>>>>[>]>>>>]<<<<]>>>>>>]+<<<<<<<[<]<]+<+<<<<<<+<-]>>>>>>>>>>[>]>>>>>[->[-]<]+>[-<[-]<<<<<<<<<-------------.<<----.>>>.<<<+++++.-----.>>>.<<<+++++.<++.---.>>>>.<<<-.+.-----.+++.<.>>>>.<<<<----.>----.<+++.>>>>.<<<<--.>+++++++.++++.>>>.<<<------.----.--.<+++.>>>>.<<<.++.+++.+<.+>>>>>.<.>>>>>>>>>]+<[-]+<[-]<[-]<[-]+<<<[<]<[-]<[-]<[-]<[-]++++++++++[->+>+>++++++++++<<<]>->->-<<<<<<[-]+<[-]<+<<]
dot = chr(46)
comma = chr(44)
for x in range(99, 2, -1):
print """%d bottles of beer on the wall%s %d bottles of beer%s
Take one down and pass it around%s %d bottles of beer on the wall%s
""" % (x, comma, x, dot, comma, x - 1, dot)
print """2 bottles of beer on the wall%s 2 bottles of beer%s
Take one down and pass it around%s 1 bottle of beer on the wall%s
1 bottle of beer on the wall%s 1 bottle of beer%s
Take one down and pass it around%s no more bottles of beer on the wall%s
No more bottles of beer on the wall%s no more bottles of beer%s
Go to the store and buy some more%s 99 bottles of beer on the wall%s""" % (comma, dot, comma, dot, comma, dot, comma, dot, comma, dot, comma, dot)
第二行是BrainFuck运行的代码。BrainFuck解释器应忽略其余代码,而在线解释器将运行它。
其余代码是Python代码。最初,它只是要打印整个歌词集,但这并不那么有趣。BrainFuck代码也将执行相同的操作,但是由于帖子中的字符限制(大约270,000个字符)而令人震惊。
S=10;--[[
irp x,<display 'The beer song:',13,10>,<rept 101 d:0\{reverse match,\\{j equ 'If one bottle of beer should accidently fall ...',13,10\\}match,\\{p equ 's'\\}match,\\{q equ \`d\\}match=1,d\\{p equ ''\\}match=0,d\\{q equ 'no'\\}match=0,d\\{j equ 'Who drunk all the beer!',13,10\\}match f,q\\{display q,' bottle',p,' of beer on the wall, ',q,' bottle',p,' of beer,',13,10,j\\}\}>{x}
S=10;]]--
S=10; beer=99
S=10; repeat
S=10; print(beer.." bottles of beer on the wall, "..beer.." bottles")
S=10; beer=beer-1
S=10; print("Take one down and pass it around, "..beer.." bottles of beer on the wall.")
S=10; print()
S=10; until beer==1
S=10; print("1 bottle of beer on the wall, 1 bottle of beer.")
S=10; print("Take one down and pass it around, no more bottles of beer on the wall.")
S=10; print()
S=10; print("No more bottles of beer on the wall, no more bottles of beer.")
信用革命的FASM一个衬垫,即使在1号线和3之间的一切由Lua的忽略,所以我可以有软件写的aribitrary长FASM计划在那里。
诀窍是,在lua中,您可以使用分号分隔指令,在同一行上编写多条指令,而在流行语中,分号是开始注释的开始。S = 10;是两种语言的有效分配,其他一切都很明显
我参加聚会有点晚了,但是哦。这里没什么好看的,因为这是我第一次混音。完全不可能将Python与J混合使用。因此,我基本上用Python注释掉了J,并用J使Python成为字符串文字。我以后可能会添加更多语言。
(''''"_)`(''"_)@.(1) 1
number =: 'No more'"_`('no more'"_)@.([ = 0:)`(":@])@.(] > 0:)
bottle =: number , {.&' bottles'@(8: - =&1@])
verse1 =: 1&bottle, ' of beer on the wall, '"_, bottle, ' of beer.'"_
verse2 =: 'Take one down and pass it around, '"_, bottle@<:, ' of beer on the wall.'"_
verse =: verse1 ,: verse2
song =: (<:@[ $: ] , verse@[ , ''"_)`(] , verse1@[)@.([ < 1:)
sing =: (] song ''"_) , 'Go to the store and buy some more, '"_ , bottle , ' of beer on the wall.'"_
sing ". 2 {. 0 : 0
99''')
print(lambda x:x(x,99,lambda c,w=1,p=0:"%s %s of beer%s"%(c or"nN"[p]+"o more","bottle"+"s"*(c!=1)," on the wall"*w)))(lambda x,c,y:c+1and"%s, %s.\n%s"%(y(c,1,1),y(c,0),"Take one down and pass it around, %s.\n\n"%y(c-1)*(c>0))+x(x,c-1,y)or"Go to the store and buy some more, %s.\n"%y(99)
)
这应该可以在C,C ++和Objective-C中使用。Objective-C ++尚未经过测试,但可能会起作用:
#include <stdio.h>
int main(void)
{
int b;
for (b = 99; b >= 0; b--) {
switch (b) {
case 0:
printf("No more bottles of beer on the wall, no more bottles of beer.\n");
printf("Go to the store and buy some more, 99 bottles of beer on the wall.\n");
break;
case 1:
printf("1 bottle of beer on the wall, 1 bottle of beer.\n");
printf("Take one down and pass it around, no more bottles of beer on the wall\n");
break;
default:
printf("%d bottles of beer on the wall, %d bottles of beer.\n", b, b);
printf("Take one down and pass it around, %d %s of beer on the wall.\n" ,b - 1,((b - 1) > 1)? "bottles" : "bottle");
break;
}
}
return 0;
}
is valid in at least 2 distinct languages (e.g. not Python2 and Python3)
-我会说这绝对没有达到要求。OP的电话。
"#{File.write('out.txt', "99 bottles of beer on the wall,
99 bottles of beer.
Take one down, pass it around,
98 bottles of beer on the wall.
98 bottles of beer on the wall,
98 bottles of beer.
Take one down, pass it around,
97 bottles of beer on the wall.
97 bottles of beer on the wall,
97 bottles of beer.
Take one down, pass it around,
96 bottles of beer on the wall.
96 bottles of beer on the wall,
96 bottles of beer.
Take one down, pass it around,
95 bottles of beer on the wall.
95 bottles of beer on the wall,
95 bottles of beer.
Take one down, pass it around,
94 bottles of beer on the wall.
94 bottles of beer on the wall,
94 bottles of beer.
Take one down, pass it around,
93 bottles of beer on the wall.
93 bottles of beer on the wall,
93 bottles of beer.
Take one down, pass it around,
92 bottles of beer on the wall.
92 bottles of beer on the wall,
92 bottles of beer.
Take one down, pass it around,
91 bottles of beer on the wall.
91 bottles of beer on the wall,
91 bottles of beer.
Take one down, pass it around,
90 bottles of beer on the wall.
90 bottles of beer on the wall,
90 bottles of beer.
Take one down, pass it around,
89 bottles of beer on the wall.
89 bottles of beer on the wall,
89 bottles of beer.
Take one down, pass it around,
88 bottles of beer on the wall.
88 bottles of beer on the wall,
88 bottles of beer.
Take one down, pass it around,
87 bottles of beer on the wall.
87 bottles of beer on the wall,
87 bottles of beer.
Take one down, pass it around,
86 bottles of beer on the wall.
86 bottles of beer on the wall,
86 bottles of beer.
Take one down, pass it around,
85 bottles of beer on the wall.
85 bottles of beer on the wall,
85 bottles of beer.
Take one down, pass it around,
84 bottles of beer on the wall.
84 bottles of beer on the wall,
84 bottles of beer.
Take one down, pass it around,
83 bottles of beer on the wall.
83 bottles of beer on the wall,
83 bottles of beer.
Take one down, pass it around,
82 bottles of beer on the wall.
82 bottles of beer on the wall,
82 bottles of beer.
Take one down, pass it around,
81 bottles of beer on the wall.
81 bottles of beer on the wall,
81 bottles of beer.
Take one down, pass it around,
80 bottles of beer on the wall.
80 bottles of beer on the wall,
80 bottles of beer.
Take one down, pass it around,
79 bottles of beer on the wall.
79 bottles of beer on the wall,
79 bottles of beer.
Take one down, pass it around,
78 bottles of beer on the wall.
78 bottles of beer on the wall,
78 bottles of beer.
Take one down, pass it around,
77 bottles of beer on the wall.
77 bottles of beer on the wall,
77 bottles of beer.
Take one down, pass it around,
76 bottles of beer on the wall.
76 bottles of beer on the wall,
76 bottles of beer.
Take one down, pass it around,
75 bottles of beer on the wall.
75 bottles of beer on the wall,
75 bottles of beer.
Take one down, pass it around,
74 bottles of beer on the wall.
74 bottles of beer on the wall,
74 bottles of beer.
Take one down, pass it around,
73 bottles of beer on the wall.
73 bottles of beer on the wall,
73 bottles of beer.
Take one down, pass it around,
72 bottles of beer on the wall.
72 bottles of beer on the wall,
72 bottles of beer.
Take one down, pass it around,
71 bottles of beer on the wall.
71 bottles of beer on the wall,
71 bottles of beer.
Take one down, pass it around,
70 bottles of beer on the wall.
70 bottles of beer on the wall,
70 bottles of beer.
Take one down, pass it around,
69 bottles of beer on the wall.
69 bottles of beer on the wall,
69 bottles of beer.
Take one down, pass it around,
68 bottles of beer on the wall.
68 bottles of beer on the wall,
68 bottles of beer.
Take one down, pass it around,
67 bottles of beer on the wall.
67 bottles of beer on the wall,
67 bottles of beer.
Take one down, pass it around,
66 bottles of beer on the wall.
66 bottles of beer on the wall,
66 bottles of beer.
Take one down, pass it around,
65 bottles of beer on the wall.
65 bottles of beer on the wall,
65 bottles of beer.
Take one down, pass it around,
64 bottles of beer on the wall.
64 bottles of beer on the wall,
64 bottles of beer.
Take one down, pass it around,
63 bottles of beer on the wall.
63 bottles of beer on the wall,
63 bottles of beer.
Take one down, pass it around,
62 bottles of beer on the wall.
62 bottles of beer on the wall,
62 bottles of beer.
Take one down, pass it around,
61 bottles of beer on the wall.
61 bottles of beer on the wall,
61 bottles of beer.
Take one down, pass it around,
60 bottles of beer on the wall.
60 bottles of beer on the wall,
60 bottles of beer.
Take one down, pass it around,
59 bottles of beer on the wall.
59 bottles of beer on the wall,
59 bottles of beer.
Take one down, pass it around,
58 bottles of beer on the wall.
58 bottles of beer on the wall,
58 bottles of beer.
Take one down, pass it around,
57 bottles of beer on the wall.
57 bottles of beer on the wall,
57 bottles of beer.
Take one down, pass it around,
56 bottles of beer on the wall.
56 bottles of beer on the wall,
56 bottles of beer.
Take one down, pass it around,
55 bottles of beer on the wall.
55 bottles of beer on the wall,
55 bottles of beer.
Take one down, pass it around,
54 bottles of beer on the wall.
54 bottles of beer on the wall,
54 bottles of beer.
Take one down, pass it around,
53 bottles of beer on the wall.
53 bottles of beer on the wall,
53 bottles of beer.
Take one down, pass it around,
52 bottles of beer on the wall.
52 bottles of beer on the wall,
52 bottles of beer.
Take one down, pass it around,
51 bottles of beer on the wall.
51 bottles of beer on the wall,
51 bottles of beer.
Take one down, pass it around,
50 bottles of beer on the wall.
50 bottles of beer on the wall,
50 bottles of beer.
Take one down, pass it around,
49 bottles of beer on the wall.
49 bottles of beer on the wall,
49 bottles of beer.
Take one down, pass it around,
48 bottles of beer on the wall.
48 bottles of beer on the wall,
48 bottles of beer.
Take one down, pass it around,
47 bottles of beer on the wall.
47 bottles of beer on the wall,
47 bottles of beer.
Take one down, pass it around,
46 bottles of beer on the wall.
46 bottles of beer on the wall,
46 bottles of beer.
Take one down, pass it around,
45 bottles of beer on the wall.
45 bottles of beer on the wall,
45 bottles of beer.
Take one down, pass it around,
44 bottles of beer on the wall.
44 bottles of beer on the wall,
44 bottles of beer.
Take one down, pass it around,
43 bottles of beer on the wall.
43 bottles of beer on the wall,
43 bottles of beer.
Take one down, pass it around,
42 bottles of beer on the wall.
42 bottles of beer on the wall,
42 bottles of beer.
Take one down, pass it around,
41 bottles of beer on the wall.
41 bottles of beer on the wall,
41 bottles of beer.
Take one down, pass it around,
40 bottles of beer on the wall.
40 bottles of beer on the wall,
40 bottles of beer.
Take one down, pass it around,
39 bottles of beer on the wall.
39 bottles of beer on the wall,
39 bottles of beer.
Take one down, pass it around,
38 bottles of beer on the wall.
38 bottles of beer on the wall,
38 bottles of beer.
Take one down, pass it around,
37 bottles of beer on the wall.
37 bottles of beer on the wall,
37 bottles of beer.
Take one down, pass it around,
36 bottles of beer on the wall.
36 bottles of beer on the wall,
36 bottles of beer.
Take one down, pass it around,
35 bottles of beer on the wall.
35 bottles of beer on the wall,
35 bottles of beer.
Take one down, pass it around,
34 bottles of beer on the wall.
34 bottles of beer on the wall,
34 bottles of beer.
Take one down, pass it around,
33 bottles of beer on the wall.
33 bottles of beer on the wall,
33 bottles of beer.
Take one down, pass it around,
32 bottles of beer on the wall.
32 bottles of beer on the wall,
32 bottles of beer.
Take one down, pass it around,
31 bottles of beer on the wall.
31 bottles of beer on the wall,
31 bottles of beer.
Take one down, pass it around,
30 bottles of beer on the wall.
30 bottles of beer on the wall,
30 bottles of beer.
Take one down, pass it around,
29 bottles of beer on the wall.
29 bottles of beer on the wall,
29 bottles of beer.
Take one down, pass it around,
28 bottles of beer on the wall.
28 bottles of beer on the wall,
28 bottles of beer.
Take one down, pass it around,
27 bottles of beer on the wall.
27 bottles of beer on the wall,
27 bottles of beer.
Take one down, pass it around,
26 bottles of beer on the wall.
26 bottles of beer on the wall,
26 bottles of beer.
Take one down, pass it around,
25 bottles of beer on the wall.
25 bottles of beer on the wall,
25 bottles of beer.
Take one down, pass it around,
24 bottles of beer on the wall.
24 bottles of beer on the wall,
24 bottles of beer.
Take one down, pass it around,
23 bottles of beer on the wall.
23 bottles of beer on the wall,
23 bottles of beer.
Take one down, pass it around,
22 bottles of beer on the wall.
22 bottles of beer on the wall,
22 bottles of beer.
Take one down, pass it around,
21 bottles of beer on the wall.
21 bottles of beer on the wall,
21 bottles of beer.
Take one down, pass it around,
20 bottles of beer on the wall.
20 bottles of beer on the wall,
20 bottles of beer.
Take one down, pass it around,
19 bottles of beer on the wall.
19 bottles of beer on the wall,
19 bottles of beer.
Take one down, pass it around,
18 bottles of beer on the wall.
18 bottles of beer on the wall,
18 bottles of beer.
Take one down, pass it around,
17 bottles of beer on the wall.
17 bottles of beer on the wall,
17 bottles of beer.
Take one down, pass it around,
16 bottles of beer on the wall.
16 bottles of beer on the wall,
16 bottles of beer.
Take one down, pass it around,
15 bottles of beer on the wall.
15 bottles of beer on the wall,
15 bottles of beer.
Take one down, pass it around,
14 bottles of beer on the wall.
14 bottles of beer on the wall,
14 bottles of beer.
Take one down, pass it around,
13 bottles of beer on the wall.
13 bottles of beer on the wall,
13 bottles of beer.
Take one down, pass it around,
12 bottles of beer on the wall.
12 bottles of beer on the wall,
12 bottles of beer.
Take one down, pass it around,
11 bottles of beer on the wall.
11 bottles of beer on the wall,
11 bottles of beer.
Take one down, pass it around,
10 bottles of beer on the wall.
10 bottles of beer on the wall,
10 bottles of beer.
Take one down, pass it around,
9 bottles of beer on the wall.
9 bottles of beer on the wall,
9 bottles of beer.
Take one down, pass it around,
8 bottles of beer on the wall.
8 bottles of beer on the wall,
8 bottles of beer.
Take one down, pass it around,
7 bottles of beer on the wall.
7 bottles of beer on the wall,
7 bottles of beer.
Take one down, pass it around,
6 bottles of beer on the wall.
6 bottles of beer on the wall,
6 bottles of beer.
Take one down, pass it around,
5 bottles of beer on the wall.
5 bottles of beer on the wall,
5 bottles of beer.
Take one down, pass it around,
4 bottles of beer on the wall.
4 bottles of beer on the wall,
4 bottles of beer.
Take one down, pass it around,
3 bottles of beer on the wall.
3 bottles of beer on the wall,
3 bottles of beer.
Take one down, pass it around,
2 bottles of beer on the wall.
2 bottles of beer on the wall,
2 bottles of beer.
Take one down, pass it around,
1 bottle of beer on the wall.
1 bottle of beer on the wall,
1 bottle of beer.
Take one down, pass it around,
No bottles of beer on the wall.
No bottles of beer on the wall,
No bottles of beer.
Go to the store, buy some more,
99 bottles of beer on the wall.")}"