06/04/2017

Geeksforgeeks Solution For " Right most non zero digit "

GeeksforGeeks Solution For Hard Domain .Below You Can Find The Solution Of  School Basic ,Easy ,Medium . Or Hackerrank Solution You Can Also Direct Submit Your Solution to Geeksforgeeks Same Problem .You Need to login then you can submit you answers 

Problem :- Right most non zero digit

Submit Your Solution :- Click Here 

Solution :- 

#include<iostream>
using namespace std;

int getFiveCount(long long* arr, int n){
    int fiveCount=0;
long long temp;
for(int i=0;i<n;i++){
   temp= arr[i];
   while(temp && !(temp%5)){
       fiveCount++;
       temp/=5;
   }
   arr[i]= temp;
    }
    return fiveCount;
}

long long eliminate2(long long* arr, int n, int fiveCount){
    long long temp;
    for(int i=0;i<n;i++){
  temp=arr[i];
  while(fiveCount && temp && !(temp&1)){
      temp>>=1;
      fiveCount--;
  }
  arr[i]=temp;
  if(!fiveCount)
      break;
    }
    return fiveCount;
}

int main()
 {
//code
int t,n;
long long arr[102];
cin >> t;
while(t--){
   cin >> n;
   for(int i=0;i<n;i++)
       cin >> arr[i];
   long long mod=1;
        int fiveCount= getFiveCount(arr,n);    
        int fiveRemains= eliminate2(arr,n,fiveCount);
        if(fiveRemains)
            mod=5;
        for(int i=0;i<n;i++)
            mod=(mod*(arr[i]%10))%10;
        if(mod==0)
            mod=-1;
        cout << mod <<endl;
}
return 0;
}

Output:-



Geeksforgeeks Solution For " Right most non zero digit "

Previous Post
Next Post

post written by:

Hi, I’m Ghanendra Yadav, SEO Expert, Professional Blogger, Programmer, and UI Developer. Get a Solution of More Than 500+ Programming Problems, and Practice All Programs in C, C++, and Java Languages. Get a Competitive Website Solution also Ie. Hackerrank Solutions and Geeksforgeeks Solutions. If You Are Interested to Learn a C Programming Language and You Don't Have Experience in Any Programming, You Should Start with a C Programming Language, Read: List of Format Specifiers in C.
Follow Me

0 Comments: