s
Girdi olarak yazdırılabilir ASCII karakterleri içeren bir dize alın ve "ikili bölünme toplamını" çıktılayın. Bir açıklamaya mı ihtiyacınız var?
İkili bölünmüş toplamı nasıl elde edersiniz?
A4
Aşağıdaki açıklamada dizeyi örnek olarak kullanacağız .
Her harfi 7 bit ASCII karakteri olarak ele alarak karakterleri ikiliye dönüştürün
A -> ASCII 65 -> 1000001 4 -> ASCII 52 -> 0110100
İkili sayıları yeni bir ikili sayı ile birleştir
A4 -> 1000001 & 0110100 -> 10000010110100
Yeni ikili sayıyı, hiçbirinin soluna
1
sahip olamayacağı parçalara bölün0
. Ardışık1
s'yi bölmemelisiniz.10000010110100 -> 100000, 10, 110, 100
Bu ikili sayıları ondalık sayıya dönüştür
100000, 10, 110, 100 -> 32, 2, 6, 4
Bu sayıların toplamını al:
32 + 2 + 6 + 4 = 44
Yani, dize için çıktı A4
olmalıdır 44
.
Test durumları:
a
49
A4
44
codegolf
570
Hello, World!
795
8372
aslında.