Saturday, August 19, 2017

110A. Nearly Lucky Number Codeforces Problem Solution & Logic

http://codeforces.com/problemset/problem/110/A

খুবই মজার একটা প্রোবলেম , তোমায় আগে জানতে হবে --- 4 & 7  হচ্ছে , লাকি ডিজিট। এখন , তোমায় - একটা সংখ্যা দেয়া থাকবে , সেই সংখ্যা এর মধ্যে - মোট কয়টা লাকি ডিজিট আছে ? সেই সংখ্যাটা'ও যদি - লাকি নাম্বার হয় , তাহলে আমাদের উত্তর হবে , "YES" নতুবা  "NO" ।

চলো , উয়াহরণ দেখে নেই একটা ,ধরো , তোমায় একটা সংখ্যা দেয়া আছে - যেখানে মোট লাকি ডিজিট ( 4 অথবা 7) আছে  744 টি , এখন তোমায় বের করতে হবে এই 744 সংখ্যাটি লাকি নাম্বার কি না ?? তাহলে 
আমাদের কি করতে হবে ??  

       count=744 


while(count!=0)
  {
      int p=count%10;
      if(p!=4&&p!=7)
        w=false;
      count=count/10;
  }

744  এর এক একটা ডিজিট আলাদা করে দেখবো যে, সেটা 4 অথবা 7 ছাড়া অন্য কিছু কি না ? যদি হয় , তাহলে 
 w=false   করে দেবো । 
 
চলো কোড দেখে ক্লিয়ার হয়ে নেই আমরা ----
 
#include<bits/stdc++.h>


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

  using namespace std;
  typedef long long ll;

int main()
{
    bool w = true;
    
    string s;
    
    cin >> s;
    
    ll len = s.length();
    
    ll count =0;
    
    for(int i=0; i<len; i++)
        
    {
        
    if(s[i]=='7' || s[i]=='4')
    
    {
   count++;
    }
    
     }
     
     if(count==0)
        
     {
         cout<<"NO"<<endl;
         return 0;
     }
     
  while(count!=0)
    
  {
      int p=count%10;
      if(p!=4&&p!=7)
        w=false;
      count=count/10;
  }

  if(w==true)
    
  {
      cout<<"YES"<<endl;
  }
  
  else
    {
    cout<<"NO"<<endl;
  }

  return 0;
  
} 

No comments:

Post a Comment