Masala #EARMTNDHSU
Base64
Ushbu masalada siz berilgan satrni base64 tizimida kodlashingiz kerak.
Agarda siz base64 qanday ishlashini bilmasangiz quyidagi qo'llanma orqali o'rganishingiz mumkin:
Base64 kodlash tizimi quyidagicha ishlaydi:
- Siz berilgan satrdagi har bir shifrni ascii dagi o'rnini topib olasiz (Masalan
“Robocontest”
→[82, 111, 98, 111, 99, 111, 110, 116, 101, 115, 116]
) - Shundan keyin to'plamdagi har bir sonni binary tizimiga ya'ni ikkilik sanoq sistemasiga 8 talik qilib o'tkazishingiz kerak agar binary sonning o'lchami 8 ga yetmasa uning oldiga
0
larni qo'yib 8 ta qilib olasiz (Masalanbin(82) → 1010010
ushbu 2 lik sanoq sistemasidagi son 7 ta raqamdan tashkil topgani uchun oldiga 1 ta0
qo'yib 8 ta qilib olamiz:1010010
→01010010
. Natijada butun to'plam0101001001101111011000100110111101100011011011110110111001110100011001010111001101110100
holatiga keladi - Keyingi navbatda biz bu 1 va 0 lardan tashkil topgan satrni 6 tadan qilib bo'lib chiqamiz agar satrning o'lchami 6 ga bo'linmasa satrning ortiga 6 ga bo'linguncha
0
larni qo'shamiz (Masalan, satr01010010
bo'lsa, ortiga 4 ta0
qo'yamiz va010100100000
ni hosil qilamiz va uni 6 tadan 2 ta bo'lakka010100
va100000
qilib bo'lamiz. Bu usul bilan yuqoridagi satrni['010100', '100110', '111101', '100010', '011011', '110110', '001101', '101111', '011011', '100111', '010001', '100101', '011100', '110111', '010000']
shakliga keltiramiz) - Endi siz yuqoridagi to'plamni har bir qiymatini 10lik sanoq sistemasiga o'tkazasiz (Natijada yuqoridagi to'plam
[20, 38, 61, 34, 27, 54, 13, 47, 27, 39, 17, 37, 28, 55, 16]
holatiga keladi) Bu bosqichda siz
Base64 index table
dan foydalanasiz ya'ni yuqoridagi to'plamdagi har bir sonni quyidagi lug'at yordamida qayta satrga o'tkazasiz:Natijada
Um9ib2NvbnRlc3Q
satri kelib chiqadi- Oxirgi bosqich eng osoni. Har bir base64 tizimidagi satrning o'lchami 4 ga karrali bo'ladi, agar so'nggi natijaning o'lchami 4 ga karrali bo'lmasa u 4 ga karrali bo'lguncha oxiriga
=
belgisi qo'yiladi (MasalanUm9ib2NvbnRlc3Q
→Um9ib2NvbnRlc3Q=
) - Bo'ldi masala ishlandi endi sizning vazifangiz faqatgina yuqoridagi dostonni kompyuter tushunadigan tilga o'girish.
1 qatorda satr
Masala javobi
# | input.txt | output.txt |
---|---|---|
1 |
Robocontest |
Um9ib2NvbnRlc3Q= |
2 |
Logic Contest |
TG9naWMgQ29udGVzdA== |
Qo'llanmani birma bir qo'lda yozib chiqdim agar imloviy yoki texnik xatoliklar yuzaga kelgan bo'lsa let me know.
Tayyor kutubxonalardan foydalanmang. O'zingiz ishlang!