Saya punya beberapa pseudocode Java yang menggunakan spasi alih-alih kurung kurawal, dan saya ingin Anda mengubahnya.
I / O
Program Anda harus mengambil file input bersama dengan nomor yang menunjukkan berapa banyak ruang yang digunakan untuk membuat blok. Ini sebuah contoh:
$ convert.lang input.p 4 // Konversi menggunakan 4 spasi sebagai pembatas blok $ convert.lang input.p 2 // Konversi menggunakan 2 spasi sebagai pembatas blok
Maka harus mengkonversi hasil menggunakan pembatas blok yang ditentukan dan output hasilnya ke stdout.
Daging program
Blok terbuka dengan :dan setiap baris dalam blok itu indentasi menggunakan pembatas blok, seperti kode Python.
sementara (benar):
System.out.println ("Test");
Masing :- masing diganti dengan a {, dan a }ditambahkan ke ujung blok.
while (true) {
System.out.println ("Test");
}
Contohnya
Memasukkan:
Tes kelas publik:
public static static utama (String [] args):
System.out.println ("Java is verbose ...");
Keluaran:
$ convert Test.pseudojava 4
Tes kelas publik {
public static public void (String [] args) {
System.out.println ("Java is verbose ...");
}
}
Memasukkan:
utama():
printf ("Hello World");
Keluaran:
$ convert test.file 2
main () {
printf ("Hello World");
}
Memasukkan:
def generic_op (the_stack, func):
# Kode penanganan op generik
b = the_stack.pop ()
jika isinstance (b, daftar):
jika b:
kembali
top = b.pop (0)
sementara b:
top = func (top, b.pop (0))
the_stack.push (atas)
lain:
a = the_stack.pop ()
mengembalikan func (a, b)
Keluaran:
$ convert code.py 4
def generic_op (the_stack, func) {
# Kode penanganan op generik
b = the_stack.pop ()
if isinstance (b, list) {
jika b {
kembali
}
top = b.pop (0)
sementara b {
top = func (top, b.pop (0))
}
the_stack.push (atas)
}
lain {
a = the_stack.pop ()
mengembalikan func (a, b)
}
}
Mencetak gol
Kode dengan jumlah byte terkecil menang!