Guru saya sangat tidak senang dengan Pekerjaan Rumah Mars saya . Saya mengikuti semua aturan, tetapi dia mengatakan bahwa apa yang saya hasilkan adalah omong kosong ... ketika dia pertama kali melihatnya, dia sangat curiga. "Semua bahasa harus mengikuti hukum Zipf, blah blah blah" ... Aku bahkan tidak tahu apa itu hukum Zipf!
Ternyata hukum Zipf menyatakan bahwa jika Anda memplot logaritma frekuensi setiap kata pada sumbu y, dan logaritma "tempat" setiap kata pada sumbu x (paling umum = 1, kedua paling umum = 2, commmon paling ketiga = 3, dan seterusnya), maka plot akan menunjukkan garis dengan kemiringan sekitar -1, memberi atau mengambil sekitar 10%.
Misalnya, inilah plot untuk Moby Dick:
Sumbu x adalah kata ke- n yang paling umum, sumbu-y adalah jumlah kemunculan kata ke- n yang paling umum. Kemiringan garis adalah sekitar -1,07.
Sekarang kita sedang meliput Venesia. Untungnya, orang-orang Venesia menggunakan alfabet latin. Aturannya adalah sebagai berikut:
- Setiap kata harus mengandung setidaknya satu vokal (a, e, i, o, u)
- Dalam setiap kata bisa ada hingga tiga vokal berturut-turut, tetapi tidak lebih dari dua konsonan berturut-turut (konsonan adalah huruf apa pun yang bukan vokal).
- Tidak ada kata yang lebih panjang dari 15 huruf
- Opsional: kelompokkan kata ke dalam kalimat yang panjangnya 3-30 kata, dibatasi oleh titik
Karena guru itu merasa saya selingkuh dengan pekerjaan rumah saya di Mars, saya ditugaskan menulis esai setidaknya 30.000 kata (dalam bahasa Venesia). Dia akan memeriksa pekerjaan saya menggunakan hukum Zipf, jadi ketika sebuah garis dipasang (seperti dijelaskan di atas) kemiringan harus paling banyak -0,9 tetapi tidak kurang dari -1.1, dan dia ingin kosakata minimal 200 kata. Kata yang sama tidak boleh diulang lebih dari 5 kali berturut-turut.
Ini adalah CodeGolf, jadi kode terpendek dalam byte menang. Silakan tempelkan output ke Pastebin atau alat lain tempat saya dapat mengunduhnya sebagai file teks.


