সরল অংশ: কেবলমাত্র ছাপার যোগ্য এএসসিআইআই-অক্ষর (স্পেস - টিলডে) যুক্ত একটি ইনপুট স্ট্রিং দেওয়া প্রতিটি অক্ষরের উপস্থিতির সংখ্যা গণনা করুন এবং ফলাফলটি কোনও সুবিধাজনক বিন্যাসে ফিরিয়ে দিন। একটি স্ট্রিং এর ফলাফল 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একটি আছে 11'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
আমরা দেখতে, তৃতীয় চরিত্র [একটি নেই 12nd অবস্থান (শূন্য সূচীবদ্ধ), এবং এই কোড অতএব বৈধ নয়।
পরীক্ষার কেস:
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