Search⌘ K

Express a Number in English Words

Explore how to convert a non-negative integer up to one billion into its English word representation. Learn to split numbers into sets of three digits, handle hundreds, tens, and ones places, and manage special number cases from 10 to 19. Understand the approach's time and space complexity for efficient coding.

Statement

Given a non-negative integer value, express it in English words.

Constraints

The maximum integer value to convert is 11 billion. The function should return -1 if the input number is negative or greater than 11 billion.

Example

Sample input

1234

Expected output

"One Thousand Two Hundred Thirty Four"

Try it yourself

#include <iostream>
using namespace std;
string NumberToWords(int InputNumber) {
// your code goes here
return "";
}

Solution

We can solve this problem by dividing the initial number into a specific set of digits and then converting those sets into English words. Initially, we split the number into sets of three. For example, if we split the amount 123456789123456789 into sets of three digits, we get 123123 ...