A certain number is given and the task is to count even digits and odd digits of the number and also of even digits are present even number of times and similarly for odd numbers.
Print Yes If:
If number contains even digits even number of time
Odd digits odd number of times
Else
Print No
Examples :
Input : 22233
Output : NO
count_even_digits = 3
count_odd_digits = 2
In this number even digits occur odd number of times and odd
digits occur even number of times so its print NO.
Input : 44555
Output : YES
count_even_digits = 2
count_odd_digits = 3
In this number even digits occur even number of times and odd
digits occur odd number of times so its print YES.
Efficient solution for calculating even and odd digits in a number.
C++
#include <iostream>
using namespace std;
int countEvenOdd( int n)
{
int even_count = 0;
int odd_count = 0;
while (n > 0)
{
int rem = n % 10;
if (rem % 2 == 0)
even_count++;
else
odd_count++;
n = n / 10;
}
cout << "Even count : "
<< even_count;
cout << "\nOdd count : "
<< odd_count;
if (even_count % 2 == 0 &&
odd_count % 2 != 0)
return 1;
else
return 0;
}
int main()
{
int n;
n = 2335453;
int t = countEvenOdd(n);
if (t == 1)
cout << "\nYES" << endl;
else
cout << "\nNO" << endl;
return 0;
}
|
Java
import java.io.*;
class GFG
{
static int countEvenOdd( int n)
{
int even_count = 0 ;
int odd_count = 0 ;
while (n > 0 )
{
int rem = n % 10 ;
if (rem % 2 == 0 )
even_count++;
else
odd_count++;
n = n / 10 ;
}
System.out.println ( "Even count : " +
even_count);
System.out.println ( "Odd count : " +
odd_count);
if (even_count % 2 == 0 &&
odd_count % 2 != 0 )
return 1 ;
else
return 0 ;
}
public static void main (String[] args)
{
int n;
n = 2335453 ;
int t = countEvenOdd(n);
if (t == 1 )
System.out.println ( "YES" );
else
System.out.println( "NO" ) ;
}
}
|
Python3
def countEvenOdd(n):
even_count = 0
odd_count = 0
while (n > 0 ):
rem = n % 10
if (rem % 2 = = 0 ):
even_count + = 1
else :
odd_count + = 1
n = int (n / 10 )
print ( "Even count : " , even_count)
print ( "\nOdd count : " , odd_count)
if (even_count % 2 = = 0 and
odd_count % 2 ! = 0 ):
return 1
else :
return 0
n = 2335453 ;
t = countEvenOdd(n);
if (t = = 1 ):
print ( "YES" )
else :
print ( "NO" )
|
C#
using System;
class GFG {
static int countEvenOdd( int n)
{
int even_count = 0;
int odd_count = 0;
while (n > 0) {
int rem = n % 10;
if (rem % 2 == 0)
even_count++;
else
odd_count++;
n = n / 10;
}
Console.WriteLine( "Even count : " +
even_count);
Console.WriteLine( "Odd count : " +
odd_count);
if (even_count % 2 == 0 &&
odd_count % 2 != 0)
return 1;
else
return 0;
}
public static void Main ()
{
int n;
n = 2335453;
int t = countEvenOdd(n);
if (t == 1)
Console.WriteLine ( "YES" );
else
Console.WriteLine( "NO" ) ;
}
}
|
PHP
<?php
function countEvenOdd( $n )
{
$even_count = 0;
$odd_count = 0;
while ( $n > 0)
{
$rem = $n % 10;
if ( $rem % 2 == 0)
$even_count ++;
else
$odd_count ++;
$n = (int)( $n / 10);
}
echo ( "Even count : " .
$even_count );
echo ( "\nOdd count : " .
$odd_count );
if ( $even_count % 2 == 0 &&
$odd_count % 2 != 0)
return 1;
else
return 0;
}
$n = 2335453;
$t = countEvenOdd( $n );
if ( $t == 1)
echo ( "\nYES" );
else
echo ( "\nNO" );
?>
|
Output :
Even count : 2
Odd count : 5
YES
Another solution to solve this problem using character array or string.
C++
#include <bits/stdc++.h>
using namespace std;
int countEvenOdd( char num[],
int n)
{
int even_count = 0;
int odd_count = 0;
for ( int i = 0; i < n; i++)
{
int x = num[i] - 48;
if (x % 2 == 0)
even_count++;
else
odd_count++;
}
cout << "Even count : "
<< even_count;
cout << "\nOdd count : "
<< odd_count;
if (even_count % 2 == 0 &&
odd_count % 2 != 0)
return 1;
else
return 0;
}
int main()
{
char num[18] = { 1, 2, 3 };
int n = strlen (num);
int t = countEvenOdd(num, n);
if (t == 1)
cout << "\nYES" << endl;
else
cout << "\nNO" << endl;
return 0;
}
|
Java
import java.io.*;
class GFG
{
static int countEvenOdd( char num[],
int n)
{
int even_count = 0 ;
int odd_count = 0 ;
for ( int i = 0 ; i < n; i++)
{
int x = num[i] - 48 ;
if (x % 2 == 0 )
even_count++;
else
odd_count++;
}
System.out.println ( "Even count : " +
even_count);
System.out.println( "Odd count : " +
odd_count);
if (even_count % 2 == 0 &&
odd_count % 2 != 0 )
return 1 ;
else
return 0 ;
}
public static void main (String[] args)
{
char num[] = { 1 , 2 , 3 };
int n = num.length;
int t = countEvenOdd(num, n);
if (t == 1 )
System.out.println( "YES" ) ;
else
System.out.println( "NO" ) ;
}
}
|
Python3
def countEvenOdd(num, n):
even_count = 0 ;
odd_count = 0 ;
num = list ( str (num))
for i in num:
if i in ( '0' , '2' , '4' , '6' , '8' ):
even_count + = 1
else :
odd_count + = 1
print ( "Even count : " ,
even_count);
print ( "Odd count : " ,
odd_count);
if (even_count % 2 = = 0 and
odd_count % 2 ! = 0 ):
return 1 ;
else :
return 0 ;
num = ( 1 , 2 , 3 );
n = len (num);
t = countEvenOdd(num, n);
if t = = 1 :
print ( "YES" );
else :
print ( "NO" );
|
C#
using System;
class GFG
{
static int countEvenOdd( char []num,
int n)
{
int even_count = 0;
int odd_count = 0;
for ( int i = 0; i < n; i++)
{
int x = num[i] - 48;
if (x % 2 == 0)
even_count++;
else
odd_count++;
}
Console.WriteLine( "Even count : " +
even_count);
Console.WriteLine( "Odd count : " +
odd_count);
if (even_count % 2 == 0 &&
odd_count % 2 != 0)
return 1;
else
return 0;
}
public static void Main ()
{
char [] num = { '1' , '2' , '3' };
int n = num.Length;
int t = countEvenOdd(num, n);
if (t == 1)
Console.WriteLine( "YES" ) ;
else
Console.WriteLine( "NO" ) ;
}
}
|
PHP
<?php
function countEvenOdd( $num , $n )
{
$even_count = 0;
$odd_count = 0;
for ( $i = 0; $i < $n ; $i ++)
{
$x = $num [ $i ] - 48;
if ( $x % 2 == 0)
$even_count ++;
else
$odd_count ++;
}
echo "Even count : " .
$even_count ;
echo "\nOdd count : " .
$odd_count ;
if ( $even_count % 2 == 0 &&
$odd_count % 2 != 0)
return 1;
else
return 0;
}
$num = array ( 1, 2, 3 );
$n = strlen (num);
$t = countEvenOdd( $num , $n );
if ( $t == 1)
echo "\nYES" , "\n" ;
else
echo "\nNO" , "\n" ;
?>
|
Output :
Even count : 1
Odd count : 2
NO
This article is contributed by Dharmendra kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.