Sunday, July 16, 2017

1083. Factorials!!! Timus Problem Solution & Logic

http://acm.timus.ru/problem.aspx?space=1&num=1083

টাইমাস অনলাইন জাজ এর প্রশ্নগুলো - সলভ করতে বেশ মজাই লাগবে , যদি - তুমি বুঝতে পারো ??
না হলে , মাথা খারাপ হয়ে যাবে । এটা , খুবই সহজ একটি সহজ একটি প্রোবলেম - তোমায় একটা সংখ্যা ও কয়েকটি  ' ! '  চিহ্ন দেয়া থাকবে । কয়টি , !  চিহ্ন দেয়া থাকবে -- সেটার উপর , তোমার ধারাটি
কেমন হবে ? সেটা ডিপেন্ড করবে ? ? যেমন যদি  10 !!! দেয়া থাকে , তাহলে তোমায় গুণ করতে হবে
10·7·4·1 । কিন্তু , যদি-  10 !! দেয়া থাকে , তাহলে- তোমায় , 10.8.6.4.2 | অর্থাৎ , যে কয়টা ! চিহ্ন থাকবে - ঠিক তত করে ,দেয়া সংখ্যা থেকে  কমিয়ে কমিয়ে - গুণ করতে হবে যতক্ষণ না , ১ এর সমান অথবা , এর চেয়ে এক ধাপ বড়'তে না থামে   । চলো এবার কোড দেখি ----


#include<bits/stdc++.h>

#define sf scanf
#define pf printf

using namespace std;

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


   int main()
{

   int n,l,ans=1;

   string x;

   cin>>n>>x;

   l=x.size();

   while(n>1)

   {
       ans=ans*n;
       n=n-l;
       cout<<n<<" ";
   }
    cout<<endl<<ans<<endl;
    return 0;
}

1 comment: