Program to convert Number in characters
Last Updated :
08 Dec, 2021
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)
Share your thoughts in the comments
Please Login to comment...