Elektronikteki bu sorudan esinlenen SE , işte size bir meydan okuma:
Ondalık hane (0 9) bir dizi alır ve, yüksek sesle konuşan bir program veya alt rutin Yazın olmadan mevcut bir konuşma sentez alet.
Giriş:
Giriş basamaklarının herhangi bir makul formatta sunulmasını isteyebilirsiniz, örneğin ASCII basamak dizisi, tamsayı dizisi, BCD kodlu numara vb. Gibi. Çözümünüz yürütülebilir bir programsa, girişi aşağıdaki gibi alabilirsiniz bir komut satırı parametresi kullanabilir, standart girişten okuyabilir veya makul bir şekilde elde edebilirsiniz.
Programınız gerekir konuşabilmeli en az sekiz basamak çağrı başına. Sen olabilir ilk basamak sıfır olmadığını sadece haneli olmadığı sürece, varsayalım.
Çıktı:
Programınız numaraları doğrudan bir ses aygıtı kullanarak söyleyebilir veya çalınabilir bir ses dosyası verebilir. Çıktı dosyası, varsa, herhangi bir standart ses biçiminde olabilir veya ham örnek verilerinden oluşabilir. Ham örnek verileri çıkarırsanız, lütfen oynatma için uygun parametreleri not edin (örnekleme hızı, örnek başına bit sayısı, endianness, imzalı / imzasız, kanal sayısı). Oyun tarafından desteklenen formatlar tercih edilir.
Rakamların nasıl konuşulacağına dair ayrıntılara karar vermekte özgürsünüz, ancak çıktınız tipik bir İngilizce konuşmacının anlayacağı şekilde konuşulan İngilizce dil rakamlarından oluşmalı ve dinleyicinin doğru bir şekilde yazıya dökebilmesi için yeterince açık olmalıdır. sekiz haneli rastgele bir sayı. Hayır, sadece n kere bip sesi sayılmaz. Rakamlar arasına duraklama eklemeyi unutmayın.
puanlama:
Standart kod golf puanlama kuralları geçerlidir: Puanınız kodunuzun bayt cinsinden uzunluğudur veya kodunuz Unicode metninde yazılmışsa, Unicode karakterlerdir. En düşük puan kazanır. Herhangi bir dil geçer.
Elektronik hakkındaki orijinal soru olarak, gömülü programlama hakkındaydı, düşük seviyeli diller kullanan yazarlara bir kemik atmanın uygun olacağını hissettim: çözümünüz derlenmiş bir dilde yazılmışsa, uzunluğunu saymayı seçebilirsiniz. yürütülebilir dosyayı puanınız olarak bayt cinsinden derledi . (Evet, Java .class
dosyası gibi önceden derlenmiş bayt kodu da sorun değil.) Bu seçeneği kullanmayı seçerseniz, lütfen kaynak kodunuzla birlikte yanıtınıza derlenmiş yürütülebilir dosyanın bir kopyasını (örn. Onaltılık döküm) ekleyin. ve derleyici sürümünü ve oluşturmak için kullandığınız seçenekleri.
Bir mansiyon , bir 50 rep lütuf ile birlikte aynı zamanda kriterlerini karşıladığını birinci cevaba verilecek asıl soruya , yani flaş 4 kb ve SRAM 1 kb ile gömülü MCU üzerinde çalışan kapasitesine sahiptir.
Kısıtlamalar:
Söz konusu dosyaların veya kaynakların uzunluğunu puanınızın bir parçası olarak saymadıkça, seçtiğiniz dilin standart çalışma zamanı ortamının parçası olmayan hiçbir dosyayı veya ağ kaynağını kullanamazsınız. (Bu, örneğin web'den ses örnekleri yüklemeye izin vermemek içindir.)
Seçtiğiniz dilin standart çalışma zamanı ortamına dahil edilmiş olsalar bile , önceden var olan konuşma sentezi araçlarını veya kitaplıklarını veya ses verilerinin derlemelerini (boyutunuzu puanınızın bir parçası olarak saymazsanız) kullanamazsınız .