Given an Integer N. The task is to convert the number in characters.
Examples:
Input: N = 74254
Output: Seven four two five four
Input: N = 23
Output: Two three
An efficient approach:
- Reverse the number.
- Iterate through the reversed number from right to left.
- Extract the last digit by using modulus, then use switch case to get the corresponding word.
- While iterating divide the number by 10.
C++
#include<bits/stdc++.h>
using namespace std;
void NumbertoCharacter( int n)
{
int rev = 0, r = 0;
while (n > 0) {
r = n % 10;
rev = rev * 10 + r;
n = n / 10;
}
while (rev > 0) {
r = rev % 10;
switch (r) {
case 1:
cout << "one " ;
break ;
case 2:
cout << "two " ;
break ;
case 3:
cout << "three " ;
break ;
case 4:
cout << "four " ;
break ;
case 5:
cout << "five " ;
break ;
case 6:
cout << "six " ;
break ;
case 7:
cout << "seven " ;
break ;
case 8:
cout << "eight " ;
break ;
case 9:
cout << "nine " ;
break ;
case 0:
cout << "zero " ;
break ;
default :
cout << "inValid " ;
break ;
}
rev = rev / 10;
}
}
#include <iostream>
int main()
{
int n = 12345;
NumbertoCharacter(n);
return 0;
}
|
Java
class GFG{
static void NumbertoCharacter( int n)
{
int rev = 0 , r = 0 ;
while (n > 0 )
{
r = n % 10 ;
rev = rev * 10 + r;
n = n / 10 ;
}
while (rev > 0 )
{
r = rev % 10 ;
switch (r)
{
case 1 :
System.out.print( "one " );
break ;
case 2 :
System.out.print( "two " );
break ;
case 3 :
System.out.print( "three " );
break ;
case 4 :
System.out.print( "four " );
break ;
case 5 :
System.out.print( "five " );
break ;
case 6 :
System.out.print( "six " );
break ;
case 7 :
System.out.print( "seven " );
break ;
case 8 :
System.out.print( "eight " );
break ;
case 9 :
System.out.print( "nine " );
break ;
case 0 :
System.out.print( "zero " );
break ;
default :
System.out.print( "InValid " );
break ;
}
rev = rev / 10 ;
}
}
public static void main(String[] args)
{
int n = 12345 ;
NumbertoCharacter(n);
}
}
|
Python3
def NumbertoCharacter(n):
rev = 0 ; r = 0 ;
while (n > 0 ):
r = n % 10 ;
rev = rev * 10 + r;
n = n / / 10 ;
while (rev > 0 ):
r = rev % 10 ;
switcher = {
0 : "zero " ,
1 : "one " ,
2 : "two " ,
3 : "three " ,
4 : "four " ,
5 : "five " ,
6 : "six " ,
7 : "seven " ,
8 : "eight " ,
9 : "nine "
}
print ( switcher.get(r, "InValid" ),
end = " " ) ;
rev = rev / / 10 ;
if __name__ = = '__main__' :
n = 12345 ;
NumbertoCharacter(n);
|
C#
using System;
class GFG{
static void NumbertoCharacter( int n)
{
int rev = 0, r = 0;
while (n > 0)
{
r = n % 10;
rev = rev * 10 + r;
n = n / 10;
}
while (rev > 0)
{
r = rev % 10;
switch (r)
{
case 1:
Console.Write( "one " );
break ;
case 2:
Console.Write( "two " );
break ;
case 3:
Console.Write( "three " );
break ;
case 4:
Console.Write( "four " );
break ;
case 5:
Console.Write( "five " );
break ;
case 6:
Console.Write( "six " );
break ;
case 7:
Console.Write( "seven " );
break ;
case 8:
Console.Write( "eight " );
break ;
case 9:
Console.Write( "nine " );
break ;
case 0:
Console.Write( "zero " );
break ;
default :
Console.Write( "inValid " );
break ;
}
rev = rev / 10;
}
}
public static void Main(String[] args)
{
int n = 12345;
NumbertoCharacter(n);
}
}
|
Javascript
<script>
function NumbertoCharacter(n)
{
let rev = 0, r = 0;
while (n > 0)
{
r = n % 10;
rev = rev * 10 + r;
n = Math.floor(n / 10);
}
while (rev > 0)
{
r = rev % 10;
switch (r)
{
case 1:
document.write( "one " );
break ;
case 2:
document.write( "two " );
break ;
case 3:
document.write( "three " );
break ;
case 4:
document.write( "four " );
break ;
case 5:
document.write( "five " );
break ;
case 6:
document.write( "six " );
break ;
case 7:
document.write( "seven " );
break ;
case 8:
document.write( "eight " );
break ;
case 9:
document.write( "nine " );
break ;
case 0:
document.write( "zero " );
break ;
default :
document.write( "UnValid " );
break ;
}
rev = Math.floor(rev / 10);
}
}
let n = 12345;
NumbertoCharacter(n);
</script>
|
Output:
one two three four five
Time complexity: O(k)
k is the length of the number.
Space complexity: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!
Last Updated :
08 Dec, 2021
Like Article
Save Article