এই চ্যালেঞ্জটি এই ভিডিওটির ভিত্তিতে । আমি আপনাকে এই চ্যালেঞ্জটি চেষ্টা করার আগে এটি দেখার পরামর্শ দিই।
প্রথমে আমরা একটি ফাংশন সংজ্ঞায়িত করি। এই ফাংশনটি ( ওইআইএস ) ইনপুট হিসাবে একটি পূর্ণসংখ্যা n নেয় এবং ইংরেজির এন এর প্রতিনিধিত্ব করে (স্পেস বা হাইফেন ছাড়াই) অক্ষরের সংখ্যা আউটপুট করে। উদাহরণস্বরূপ "তিন" এর 5 টি অক্ষর রয়েছে তাই 3 টি মানচিত্র 5।
ভিডিওতে প্রদর্শিত যে কোনও সংখ্যার সাথে এই প্রক্রিয়াটি পুনরাবৃত্তি করা শুরু করে অবশেষে একটি চারটি হবে, যা চিরকালের জন্য নিজের কাছে মানচিত্র করবে।
এখানে একটি অপরিশোধিত নির্দেশিত গ্রাফটি সংখ্যার কক্ষপথ 16 এর চেয়ে কম দেখাচ্ছে:
12 11
\|
15 2 6 1 10 14 13
\ \|/ / / /
7 3-/ 8--/
\| /
9 0 5--/
\ \|
\-4
আপনার চ্যালেঞ্জ হ'ল চারটি পৌঁছানোর আগে একটি সংখ্যা কী পদক্ষেপ নেবে (বা এই ফাংশনটি একটি সংখ্যায় কতবার প্রয়োগ করতে হবে) তা নির্ধারণ করা (উদাহরণস্বরূপ নির্দেশিত গ্রাফের স্তর)।
ইংলিশ নাম্বার গঠন করা হচ্ছে
এই চ্যালেঞ্জের জন্য কেউ কীভাবে ইংরেজি শব্দ গঠন করতে হবে তার একটি সংক্ষিপ্ত বিবরণ এখানে দেওয়া হল:
উনিশের মধ্যে এক নম্বরটি হ'ল:
এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট, নয়, দশ, এগারো, বারো, তের, চৌদ্দ, পনের, ষোল, সতের, আঠারো, উনিশ
উনিশটিরও বেশি সংখ্যার জন্য প্রক্রিয়াটি নিম্নরূপ:
যদি সংখ্যাটির কয়েকশ স্থান থাকে তবে কয়েক শ জায়গায় এবং "শত" নাম দিয়ে শুরু হবে।
যেমন
100 -> "onehundred"
যদি অবশিষ্টটি বিশের কম হয় তবে বাকীটির ইংরেজী উপস্থাপনা যুক্ত করুন।
যেমন
714 -> "sevenhundredfourteen"
অন্যথায় যদি দশকের অঙ্কটি সঠিক উপস্থাপনাকে শূন্য না করে:
2-> twenty
3-> thirty
4-> forty
5-> fifty
6-> sixty
7-> seventy
8-> eighty
9-> ninety
যেমন
470 -> "fourhundredseventy"
অবশেষে যদি কোনওর ডিজিট থাকে তবে এর প্রতিনিধিত্ব যুক্ত করতে হবে
যেমন
681 -> "sixhundredeightyone"
আরও শর্তাবলী
এক শতাধিক সংখ্যার চেয়ে বেশি সংখ্যার জন্য আপনার অক্ষরের সংখ্যা গণনা করার সময় "এবং" ছেড়ে দেওয়া উচিত। উদাহরণস্বরূপ 577 হ'ল "পাঁচতম শততম", যার 23 টি অক্ষর রয়েছে।
আপনার প্রোগ্রামকে অবশ্যই স্ট্যান্ডার্ড পদ্ধতির মাধ্যমে সমস্ত সংখ্যাকে 0 এর চেয়ে বড় এবং 1000 এর চেয়ে কম ইনপুট হিসাবে গ্রহণ করতে হবে।
আপনার প্রোগ্রামকে স্ট্যান্ডার্ড আউটপুট পদ্ধতিতে প্রয়োজনীয় পদক্ষেপগুলির সংখ্যা আউটপুট করতে হবে।
এটি কোডগল্ফ তাই কয়েকটি বাইটের সাথে সমাধান জিততে পারে।
পরীক্ষার মামলা
1 -> 3
4 -> 0
7 -> 2
23 -> 5
577 -> 6
600 -> 4