প্রকল্পের ইউরার # 17 দ্বারা অনুপ্রাণিত , এটি আপনার চ্যালেঞ্জ। একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন লিখুন যা কোনও সংখ্যাকে ইনপুট হিসাবে গ্রহণ করে, তারপরে ইংরেজিতে এই সংখ্যাটি অন্তর্ভুক্ত করতে এবং এতে অন্তর্ভুক্ত করতে কতগুলি অক্ষর লাগবে তা মুদ্রণ করুন বা ফিরে আসুন (এক থেকে শুরু করে)। আপনি স্পেস, কমা বা হাইফেন অন্তর্ভুক্ত করবেন না তবে আপনার এই শব্দটি অন্তর্ভুক্ত করা উচিত and
। উদাহরণ স্বরূপ. 342 বানান হয়: Three Hundred and Forty-Two
। এটি 23 অক্ষর দীর্ঘ।
আপনার ইনপুটটি ইতিবাচক পূর্ণসংখ্যা হবে। আপনাকে অবৈধ ইনপুটগুলি পরিচালনা করতে হবে না। বিল্ট-ইন বা লাইব্রেরিগুলি যা ইংরেজিতে নম্বর রূপান্তর করে তা অনুমোদিত নয়।
সংখ্যার বানান কীভাবে করা যায় তার জন্য এখানে সমস্ত বিধি রয়েছে। (দ্রষ্টব্য: আমি বুঝতে পেরেছি যে কিছু সংখ্যক কীভাবে সংখ্যার বানান করতে হয় তার জন্য বিভিন্ন বিধি বিধি ব্যবহার করে This এই চ্যালেঞ্জের উদ্দেশ্যে এটি কেবল সরকারী নিয়ম হবে))
1 থেকে 20
এক, দুই, তিন, চার, পাঁচ, ছয়, সাত, আট, নয়, দশ, এগারো, বারো, তের, চৌদ্দ, পনের, ষোল, সতের, আঠারো, উনিশ, বিশ
21 থেকে 99
এগুলিতে যোগদান করুন:
বিশ, তিরিশ, চল্লিশ, পঞ্চাশ, ষাট, সত্তর, আশি, নব্বই
এগুলোর প্রতি:
-অন, -তুই, -তীত,-চার, ফাইভ, -সিক্স, -সেভেন, -উইট, -নাইন,
নোট করুন যে চারজনের একটি ইউ আছে তবে চল্লিশটি নেই!
উদাহরণ:
53: Fifty-three
60: sixty
72: seventy-two
99: ninety-nine
100 থেকে 999
উপরের মত কত শত (একশ, দুইশ, তিনশ, ইত্যাদি), একটি " এবং " এবং বাকী সংখ্যাটি লিখুন। এবং তোমার চিঠির স্কোর দিকে গণনা করে।
উদাহরণ:
101: One hundred and one
116: One hundred and sixteen
144: One hundred and forty-four
212: Two hundred and twelve
621: Six Hundred and twenty-one
1,000 থেকে 999,999 এ
কত হাজার (এক হাজার, দুই হাজার ইত্যাদি), কমা, তারপরে বাকী সংখ্যাটি উপরের মত লিখুন। নোট যদি আপনি কোন শত শত থাকলে আপনি এখনও প্রয়োজন যে এবং ।
উদাহরণ:
1,101: One thousand, one hundred and one
15,016: Fifteen thousand and sixteen
362,928: Three hundred and sixty-two thousand, nine hundred and twenty-eight
লক্ষ লক্ষ
উপরে কত মিলিয়ন, তারপরে বাকী সংখ্যাটি লিখুন। মনে রাখবেন যে "এক মিলিয়ন" হল 6 টি শূন্য "1,000,000"।
উদাহরণ:
191,232,891: One hundred and ninety-one million, two hundred and thirty-two thousand, eight hundred and ninety-one
1,006,101: One million, six thousand, one hundred and one
একই নিয়মটি বিলিয়ন, ট্রিলিয়ন, কোয়াড্রিলিয়ন বা তারও বেশি ক্ষেত্রে প্রযোজ্য, কিন্তু এই চ্যালেঞ্জের উদ্দেশ্যে, আপনাকে 999,999,999 এর উপরে কোনও সংখ্যা হ্যান্ডেল করতে হবে না (নয়শানানান্বই লক্ষ লক্ষ, নব্বইপানব্বই হাজার, নয়শানানানান?)
পাইথন সলভার
উত্তরগুলি যাচাই করার জন্য এখানে একটি অল্প অজগর স্ক্রিপ্ট রয়েছে:
import en
def get_letter_num(s):
count = 0
for c in s:
if c.isalpha():
count += 1
return count
number = input()
count = 0
for i in xrange(1, number + 1):
count += get_letter_num(en.number.spoken(i))
print count
নোটবক্স ভাষাতাত্ত্বিক পাঠাগারটি নম্বরে ইংরেজিতে রূপান্তর করতে নোট করুন। (হ্যাঁ, আমি কেবল নিজের নিয়মটি ভঙ্গ করেছি, তবে এটি কোনও প্রতিযোগিতামূলক উত্তর নয়) এটি এখানে নিখরচায় পাওয়া যায় ।
নমুনা I / O
7: 27
19: 106
72: 583
108: 1000
1337: 31,131
1234567: 63,448,174