সরল অংশ: কেবলমাত্র ছাপার যোগ্য এএসসিআইআই-অক্ষর (স্পেস - টিলডে) যুক্ত একটি ইনপুট স্ট্রিং দেওয়া প্রতিটি অক্ষরের উপস্থিতির সংখ্যা গণনা করুন এবং ফলাফলটি কোনও সুবিধাজনক বিন্যাসে ফিরিয়ে দিন। একটি স্ট্রিং এর ফলাফল a%hda7a
ভালো কিছু হওয়া উচিত: a:3, %:1, h:1, 7:1, d:1
। বাছাই করা অপ্রয়োজনীয়, ডিলিমিটার এবং ফর্ম্যাটগুলি alচ্ছিক তবে সহজেই বুঝতে হবে কোন সংখ্যাটি কোন অক্ষরের সাথে সামঞ্জস্য করে। আপনি এমন অক্ষরগুলি অন্তর্ভুক্ত করবেন না যা ইনপুট স্ট্রিংয়ে নেই ( a:3, b:0, c:0, d:1, ...
ঠিক আছে না)।
আসল চ্যালেঞ্জ:
আপনার কোডের প্রতিটি অক্ষরকে একটি 8-বিট বাইনারি সংখ্যায় রূপান্তর করুন (বা 16-বিট আপনি যদি ইউটিএফ -16 বা অনুরূপ ব্যবহার করছেন) এবং শুরু হওয়া প্রতিটি অক্ষরকে গণনা করুন 0
।
প্রত্যেক অক্ষর (জন্য i
গণনাকারী হয়), i%7
বিট 1 আবশ্যক হতে 1
। বিটগুলি ডান থেকে গণনা করা হয়। অন্যান্য সমস্ত বিট আপনি যা চান তা হতে পারে।
নীচের কোডটি উদাহরণ হিসাবে ব্যবহার করুন:
[f]-xif)#f
এটি বাইনারি রূপান্তরিত আমরা নীচে অ্যারে পেতে। প্রথম সংখ্যা (প্রতিনিধিত্বমূলক [
একটি আছে 1
যাতে এক ঠিক আছে 0'th অবস্থানে। দ্বিতীয় সংখ্যা (প্রতিনিধিত্বমূলক f
একটি আছে 1
1'st ভঙ্গিমায়, যাতে তিনি যে এক ঠিক আছে খুব। এই মত চালিয়ে, এবং আপনি দেখতে পাবেন উপরের কোডটি বৈধ।
সি 76543210 বিট নম্বর - -------- ---------- [0101101 1 0 - ঠিক আছে f 011001 1 0 1 - ঠিক আছে ] 01011 1 01 2 - ঠিক আছে - 0010 1 101 3 - ঠিক আছে x 011 1 1000 4 - ঠিক আছে i 01 1 01001 5 - ঠিক আছে f 0 1 100110 6 - ঠিক আছে ) 0010100 1 0 - ঠিক আছে # 001000 1 1 1 - ঠিক আছে f 01100 1 10 2 - ঠিক আছে
যদি আমরা কোডটি এতে পরিবর্তন করি: ]f[-xif)#f
আমরা ক্রমটির নীচের সূচনাটি পেয়ে যাব:
C 76543210 Bit number
- -------- ----------
] 01011101 0 <- OK
f 01100110 1 <- OK
[ 01011011 2 <- Not OK
- 00101101 3 <- OK
আমরা দেখতে, তৃতীয় চরিত্র [
একটি নেই 1
2nd অবস্থান (শূন্য সূচীবদ্ধ), এবং এই কোড অতএব বৈধ নয়।
পরীক্ষার কেস:
Input:
This is a string containing some symbols: ".#!".#&/#
Output:
! " # & / : T a b c e g h i l m n o r s t y .
7 1 2 3 1 1 1 1 2 1 1 1 2 1 5 1 2 4 3 1 6 2 1 2
যেকোন যুক্তিসঙ্গত আউটপুট ফর্ম্যাটটি ঠিক আছে (যা আপনার পক্ষে সবচেয়ে সুবিধাজনক)। আপনি উদাহরণস্বরূপ থাকতে পারে: :7, !:1, ":2, #:3, &:1, /:1, T:1, a:2 ...
বা [ ,7][!,1][",2][#,3][&,1]...
। আউটপুটটি কোনও মানক উপায়ে রয়েছে (ফাংশন থেকে ফিরে, এসটিডিআউট প্রিন্ট করা হবে ইত্যাদি))
1i
মডুলাস 7
।
এটি কোড-গল্ফ , তাই বাইটের মধ্যে সংক্ষিপ্ততম কোডটি রেফ জিতবে ।
00001010
। এটিও কার্যকর হতে পারে! :)
n%7
> pastie.org/pastes/10985263/text