নাম্বারটা স্ট্রিংয়ে রাখেন। এরপর লুপের মাধ্যমে লেন্থ/ ডিজিট সংখ্যা বের করেন। আর নাম্বার যদি বেশী বড় না হয়, if-else ইউজ করতে পারেন। যেমনঃ যদি ১০ এর ছোট হয় ডিজিট সংখ্যা হবে ১। যদি ১০০ এর ছোট হয় ডিজিট সংখ্যা হবে ২, যদি ১০০০ এর ছোট হয় ডিজিট সংখ্যা হবে ৩। তবে এক্ষেত্রে অবশ্যই else if ইউজ করতে হবে। |
আপনার ইনপুট যদি n = 123 হয় এটাকে ১০ দিয়ে ভাগ করতে থাকেন যতক্ষণ না n এর মান শূন্য না হয় । n এর মান শূন্য না হওয়া পর্যন্ত যতবার ভাগ করা যায় সেটা count করেন । শেষে count প্রিন্ট করেন । n = 123 জন্য হিসাব করে দেখি কি হয় ।
ধন্যবাদ :) |
আপনার উচিত আপনি কী চান তা একটি উদাহরণসহ বলা। 12233 এই সংখ্যাতে ডিজিট সংখ্যা ৫ টি কিন্তু ভিন্ন ভিন্ন ডিজিট সংখ্যা ৩ টি (1, 2, 3)। ১) আপনি যদি সাধারণ লুপ প্র্যাকটিসের জন্য এই প্রশ্ন করে থাকেন তবে এভাবে করবেন
এটি খুবই বেসিক একটি বিষয় বলে এভাবে দিয়ে দিয়েছি। তবে আপনাকে আরেকটি কাজ দিলাম - একটি সংখ্যার ডিজিটগুলোর যোগফল বের করুন। যেমনঃ ১২৩৭৮ এর জন্য ২১। হিন্ট: % (Modulo Operator) - যা ভাগশেষ রিটার্ন করে। 12 % 7 = 5 . ২) আপনাকে যদি বলা হয় একটি সংখ্যা দেওয়া হবে, তাতে ডিজিট সংখ্যা কয়টি তা বের করতে হবে তবে কিভাবে করবেন তা বলছি। দেখুন, ৫ -এ ডিজিট সংখ্যা ১ টি, ১৫৬৪৭ -এ ৫ টি। আবার ০০১২০ = ১২০ বলে তাতে ৩ টি। আবার ০০০০০ = ০ বলে তাতে ১ টি। এখন আমরা এই সব কিছু বিবেচনা করে একটি সমাধানে আসব। আমরা একটি স্ট্রিং নেব, ধরি s[200]। আরেকটি int ভ্যারিয়েবল নেব, ধরি f = 0। এর শুরু থেকে চেক করে এগিয়ে যাব। যেহেতু আমরা ০০১২৬ বা ০০০০০ এর মত প্রতিকুল কিছু ফিগারের মুখোমুখি হতে পারি তাই চেক করব সর্বপ্রথম কোন ক্যারেকটারটি '0' না। যখনই কোনো ক্যারেকটার পাব যা '0' নয়, তখনই f = 1 করে দেব এবং ঐ অবস্থান থেকে স্ট্রিংয়ের বাকি অংশের দৈর্ঘ্য নিয়ে প্রিন্ট করব। লুপের বাইরে এসে চেক করব f = 1 নাকি 0, 1 হলে বের করা দৈর্ঘ্য প্রিন্ট করব, নাহলে ডিজিট সংখ্যা হিসেবে 1 প্রিন্ট করব। ৩) যদি আমাদের বলে কয়টি ভিন্ন ভিন্ন ডিজিট, তাহলে আগের মত যেখান থেকে অশূন্য ক্যারেকটার শুরু সেখান থেকে গণনা করা শুরু করব। তার আগে আমরা একটি অ্যারে a[10] নিয়ে তার সব উপাদান 0 করে দেব। ঐ স্থান থেকে স্ট্রিং চেক করার সময় যখনই কোনো ক্যারেকটার পাবো তখনই a[10] অ্যারের তততম ইনডেক্সের মান 1 করে দেব (এই কাজটি নিজে করতে না পারলে সাহায্য নিতে পারেন)। সব শেষে অ্যারে a -তে কয়টি 1 আছে তার সংখ্যা প্রিন্ট করব। ধন্যবাদ। |