Sunday, July 16, 2017

DCP-374: Bit Need Devskill Problem Solution & Logic

https://www.devskill.com/CodingProblems/ViewProblem/374

 মোটামুটি খুব সহজ একটি , প্রোবলেম । বাইনারিতে কিভাবে , কনভার্ট করতে হয় ?? যারা জানে , তাদের জন্য কোনো ব্যপারই না । একটা ডেসিমেল এর সংখ্যাকে - বাইনারিতে রিপ্রেসেন্ট করতে - সর্বনিম্ন কয়টা বিট লাগবে ? মানে , কয়টা ডিজিট দিয়েই আমরা একটা ডেসিমেল সংখ্যাকে বাইনারিতে রিপ্রেসেন্ট করতে পারবো ? চলো , ৭ এর বাইনারি ফর্ম কি হয় ?? একটু দেখে আসি ।

                                 ৭%২ =১ ,
        (৭/২= ৩)          ৩%২=১,
         (৩/২= ১)          ১ %২=১
         (১/২=০)        যেহেতু , ০ পেয়েছি সুতরাং প্রোসেস বন্ধ ।

৭ এর বাইনারি রিপ্রেসেন্ট করতে কমপক্ষে , তিনটি বিট ১১১ লাগছে । 

তাহলে , আমরা - ২ দিয়ে ভাগ করে করে - শুধু ভাগশেষ গুলো নিচ্ছি , যখন ০ হয়ে যাচ্ছে , তখন- বন্ধ করে দিচ্ছি ।  চলো , এবার কোড দেখি - তবে হ্যা , ০ শূন্য এর বেলায় একটু সাবধান থাকবে

#include<bits/stdc++.h>





//Nayeem Mollick Joy, Applied Physics & Electronic Engineering,University of Rajshahi.

using namespace std;

int main()
{
    int T;
    unsigned long long int x,i;
    cin>>T;
    while(T--)
    {
        i=0;
        cin>>x;
        if(x==0)
        {
            cout<<"1"<<endl;
        }
        else{
        while(x!=0)
        {
            if(x!=0){
            i++;
            }
            x=x>>1;

        }
        cout<<i<<endl;
        }
    }
    return 0;
}

No comments:

Post a Comment