Friday 26 May 2017

UVA 11461 Solution: Square Number

আলোচনাঃ প্রব্লেমটাতে বলা হয়েছে N সংখ্যক  বার দুইটা ইন্টিজার নাম্বার ইনপুট  নিতে। ইন্টিজার দুইটার ভ্যালু যখন ০ অ্যান্ড ০ নিব তখন প্রোগ্রাম টারমিনেট করবে।  ইন্টিজার দুইটার মধ্যবর্তি কয়টা স্কয়ার রুট নাম্বার আছে তা প্রিন্ট করতে হবে।

উদাহরণঃ ধরাযাক ১ এবং ১০ ইন্টিজার তাহলে এর মধ্যবর্তি  স্কয়ার রুট নাম্বার গুলো  হলো ১,৪,৯। সুতরাং ৩টা নাম্বার আছে।  অর্থাৎ প্রিন্ট হবে ৩।

সল্ভিং টেকনিকঃ ফর লুপের মাধ্যমে আমারা সংখ্যা  দুইটার মধ্যবর্তি স্কয়ার রুট নাম্বার বের করব; প্রতিটা স্কয়ার রুট নাম্বারের জন্য কাউন্টারের মান ১ করে বাড়বে।

স্পেশাল কেয়ার ঃ প্রিন্টকরার সময় নিউ লাইন প্রিন্ট করতে হবে। তানাহলে ভুল আন্সার আসবে।


Accepted code:


#include<bits/stdc++.h>
using namespace std;
int main()
{
    while(true)
    {
        int a,c,b,res;
        cin>>a>>b;
        if(a==0&&b==0)
            break;
           res=0;
        for(int i=a;i<=b;i++)
        {
            c=sqrt(i);
          if(c*c==i)
                res++;
        }
        cout<<res<<endl;
    }
    return 0;
}



Thursday 25 May 2017

UVA 10018 Solve:

আলোচনাঃ

 প্রব্লেমটাতে বলা হয়েছে একটা ইন্টিজার সংখ্যা নিতে হবে।  পরে এই সংখ্যাকে রিভার্স করতে হবে। রিভার্স করার পর মেইন সংখ্যার সাথে যোগ করতে হবে। যোগফল যদি মেইন সংখ্যার সাথে পেলিন্ড্রম হয় তাহলে আর প্রিন্ট করবে না। আর যদি   পেলিন্ড্রম না  হয় তাহলে যোগফলকে মেইন সংখ্যা ধরে একই ভাবে কাজ করতে হবে যতক্ষণ না পেলিন্ড্রম না  হয়। পেলিন্ড্রম হয়ে গেলে কতগুলো স্টেপ লাগলো পেলিন্ড্রম  হতে সেটা সহ যোগফল প্রিন্ট করতে হবে।


Accepted code:

#include<bits/stdc++.h>
using namespace std;
int main()
{
   long long int test,num,a,s,c;
    while(scanf("%d",&test)==1)
    {
        while(test--)
        {
            cin>>num;
            a=num;
            c=0;
            while(1)
            {
                s=0;
                while(num!=0)
                {
                    s=s*10+num%10;
                    num/=10;
                }
              if(s==a)
                break;
              else
              {
                 num=s+a;
                  a=s+a;
                  c++;
              }
            }
            cout<<c<<" "<<a<<endl;
        }
    }
    return 0;
}