Bir ipin çekiç ağırlığını hesaplayan bir program oluşturun . Kazanan, en düşük çekiçleme ağırlığına sahip programdır.
Kurallar:
- Bir ASCII karakteri için çekiçleme ağırlığı
1
, ikili gösteriminde ayarlanan toplam bit sayısı olarak tanımlanır . - Giriş kodlamasının, diliniz için normal olan herhangi bir giriş mekanizmasından (ör. Stdin, args, vb.) Geçirilen 7 bitlik ASCII olduğunu varsayın.
- Sonucu sayı olarak stdout'a veya dilinizin kullandığı varsayılan / normal çıktı mekanizmasına gönderin.
- Söylemeden geçmeli, ancak programı gerçek hayatta, geçerli bir çözüm olabilmesi için çalıştırabilmelisiniz .
- Kazanan, kodu en düşük çekiçleme ağırlığına sahip olan çözümdür.
Üzgünüz, bunun için boşlukta çözüm yok !Tamam, boşlukları kodlayabilirsiniz, şimdi kuralları çözdüm :)
Karakter başına örnekler:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11 neden? Sadece 10 karakter boşluktan farklıdır. Ayrıca - bir programın Hamming ağırlığı boşluklar hariç sadece uzunluğu gibi görünüyor. Normal kod golf çok farklı değil.
~
VE o
.
0x20
/ ASCII 32'yi referans olarak alırsak , uğultu ağırlığıhello world
11 yerine 10 değil mi?