Monday, August 28, 2017

DCP-34: Number of Digits Devskill Problem Solution & Logic

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

তোমায় একটা সংখ্যা দেয়া থাকবে , তোমায় বলতে হবে -- সেই সংখ্যায় কয়টি ডিজিট আছে ??? 
ধরো , দেয়া থাকলো -- ৪৫৫ , এখন তোমায় বলা হলো যে , এতে কয়টা ডিজিট আছে ??? তুমি কি করবে ??      একটা উপায় আছে আমরা  যদি ৪৫৫ কে ১০ দিয়ে ভাগ দিতে থাকি যতক্ষন না , উত্তর ১ এর চেয়ে কম না হয় , তাহলেই কিন্তু - হয়ে যাবে । । ।

৪৫৫/১০ = ৪৫
৪৫/১০   = ৪
৪/১০     =  ০

যেহেতু , আমরা একটা ইন্টিজার সংখ্যা চিন্তা করছি ও ভাগফল ইন্টিজার টাইপ ভ্যারিয়েবল এ স্টোর করছি , তাই   -- ভাগফল গুলো উপরের মতোই আসবে । দশমিক মান গুলো আসবে না । তাহলে , যতক্ষন ভাগফল ০ না আসে , ততক্ষন যদি ভাগ করেই যাই - তাহলে মোট কতোবার ভাগ করলাম ??
মোট , ৩ বার   তাই না  ??  হুম , ৪৫৫ সংখ্যাতে আছেও মোট ৩ টা ডিজিট  । । 

যাই হোক , চলো - এই পদ্ধতি অ্যাপ্লাই করি --------------------

IN C++....................................

#include<iostream>
#include <cstdio>
#include<cmath>
#include<set>
#include<algorithm>
#include<cstring>

using namespace std;

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

int main()

{
    cin.tie(0);

    ios::sync_with_stdio(0);

    int n,t;

    cin>>t;

    while(t--)

    {
        cin>>n;
        int count=0;
        if(n==0)
        {
            cout<<"1"<<endl;
        }
        else{
        while(n!=0)
        {
            n=n/10;
            count++;
        }
        cout<<count<<endl;
        }
    }
    return 0;
}



IN C#..............................


using System;

public class Test

{
    public static int joy(int n)
   
    {
      
        int count=0;
      
        if(n==0)
        {
            count=1;
        }
      
        else{
      
        while(n!=0)
      
        {
            n=n/10;
            count++;
        }
      
        }
      
        return count;
      
    }
    public static void Main()
   
    {
        int T = Convert.ToInt32(Console.ReadLine());
        for(int i=0;i<T;i++)
        {
            int X = Convert.ToInt32(Console.ReadLine());
            int L = joy(X);
            Console.WriteLine(L);
        }
    }
   
}

No comments:

Post a Comment