মডিউল ৬-৮: ডিজিটস

প্রবলেম লিংকঃ Q. Digits

প্রবলেম স্টেটমেন্টঃ ইনপুটে প্রথমে টেস্টকেস নাম্বার থাকবে। প্রতিটি টেস্টকেসে একটি সংখ্যা দেওয়া থাকবে। আমাদের সংখ্যাটির প্রতিটি ডিজিট ডান থেকে বামে আলাদা করে স্পেস দিয়ে প্রিন্ট করতে হবে। সল্যুশনঃ টেস্টকেস ইনপুট নিয়ে টেস্টকেসের জন্য লুপ চালিয়ে দিতে পারি। প্রতিটি টেস্টকেসে সংখ্যা ইনপুট নেওয়ার পর আমরা যদি সংখ্যাটিকে ১০ দিয়ে ভাগ করে ভাগশেষ গুলো নিতে থাকি তাহলেই ঐ সংখ্যার ডিজিটস গুলো পেয়ে যাব। একটি ভাগশেষ অর্থাৎ একটি ডিজিট পেয়ে গেলে তারপর আমরা ঐ ডিজিটটি বাদ দিয়ে দেওয়ার জন্য ১০ দিয়ে ভাগ করা দিতে পারি।

একটি সংখ্যার লাস্ট ডিজিটটি পেতে হলে সেটিকে ১০ দিয়ে ভাগ করে ভাগশেষটি নিয়ে নেওয়া যায়। যেমনঃ ১২৩ % ১০ = ৩ (লাস্ট ডিজিট)

একটি সংখ্যা থেকে লাস্ট ডিজিটটি বাদ দিতে হলে সেটিকে ১০ দিয়ে ভাগ করে দেওয়া যায়। যেমনঃ ১২৩ / ১০ = ১২ (লাস্ট ডিজিট বাদ গেল)

#include<stdio.h>
int main()
{
    int test;
    scanf("%d",&test);   // টেস্টকেস ইনপুট নেওয়া হচ্ছে
    for(int t=1;t<=test;t++)    // টেস্টকেসের জন্য লুপ চালানো হচ্ছে 
    {
        int n;
        scanf("%d",&n);     // সংখ্যা ইনপুট নেওয়া হচ্ছে
        do
        {
            printf("%d ",n%10);    // ১০ দিয়ে ভাগ করে ভাগশেষ গুলো প্রিন্ট করা হচ্ছে 
            n=n/10;   // একটি ভাগশেষ অর্থাৎ একটি ডিজিট প্রিন্ট হয়ে গেলে ঐ ডিজিটটি বাদ দিয়ে দেওয়ার জন্য ১০ দিয়ে ভাগ করা হচ্ছে।
        }
        while(n!=0);  // এভাবে ভাগ করতে করতে সংখ্যাটি ০ হয়ে গেলে লুপ থামিয়ে দেওয়া হবে।
        printf("\n");   
    }
    return 0;
}

Last updated