`

Facebook Interview - Integer to English Phrase

 
阅读更多

Given an integer between 0 and 999,999, print an English phrase that describes the integer (eg, “One Thousand, Two Hundred and Thirty Four”)

 

http://ideone.com/Q1AT1p

vector<string> under20 = {"Zero", "One", "Two", "Three", "Four", "Five", 
		"Six", "Seven", "Eight", "Nine", "Ten",
		"Eleven","Twelve", "Thirteen", "Fourteen", "Fifteen",
		"Sixteen", "Seventeen", "Eighteen", "Nineteen", "Twenty"};
 
vector<string> tens = {"Zero", "Ten", "Twenty", "Thirty", "Forty", "Fifty", 
		"Sixty", "Seventy", "Eighty", "Ninety"};

string numBelow1000(int num) {
	if(num == 0) return under20[0];
	string ret = "";
	if (num > 100) {
		ret = under20[num/100] + " Hundred";
		num %= 100;
		if (num == 0) {
			return ret;
		} else {
			ret += " and ";
		} 
	}
	
	if (num <= 20) {
		ret += under20[num];
	} else {
		ret += tens[num/10];
		num %= 10;
		if (num > 0)
			ret += " " + under20[num];
	}
	return ret;
}

string num2string(int num) {
	int part1 = num / 1000;
	int part2 = num % 1000;
	string res;
	if(part1) {
		res = numBelow1000(part1) + " Thousand";
		if(part2) res += ", " + numBelow1000(part2);
	} else {
		res = numBelow1000(part2);
	}
	return res;
}

 

 

分享到:
评论

相关推荐

    LYRICS-TO-AUDIO ALIGNMENT AND PHRASE-LEVEL SEGMENTATION

    ### 歌词与音频对齐及短语级分段:机器学习在音频处理中的应用 在数字音乐领域,歌词与音频的精准对齐以及短语级分段是音乐信息检索(MIR)的一个重要组成部分。这不仅对于创建高质量的卡拉OK伴奏、歌曲浏览和音乐...

    vue-i18n-phrase:从您的Vue.js项目中提取所有vue-i18n密钥。 然后,标记并添加密钥到您的 Phrase 帐户!

    vue-i18n-短语 从 Vue.js 项目中提取所有vue-i18n密钥。 然后,标记并将密钥添加到您的帐户! 安装 在 Yarn 2 的任何地方使用vue...vue-i18n-phrase sync -v [PATH_TO_VUE_FILES] -a [PHRASE_ACCESS_TOKEN] // for exam

    english phrase

    标题中的"english phrase"指的是英语短语或表达,这通常是指在日常对话、写作或商务沟通中常用的固定搭配。在英语学习中,掌握各种短语和习语是提高口语流利度和理解力的关键。这些短语往往包含了丰富的文化和语言...

    Android代码-phrase

    Phrase - Android string formatting CharSequence formatted = Phrase.from("Hi {first_name}, you are {age} years old.") .put("first_name", firstName) .put("age", age) .format(); Send your phrase ...

    alexa-skill--daily-phrase-365:alexa的技能,一年中的每一天都引用一个著名的短语

    亚历克斯·技能·弗赖斯·迪亚里亚-365 Alexa的技能,一年中的每一天都引用一个著名的短语。要求Amazon开发人员控制台。 亚马逊lambda。安装在Amazon开发人员控制台的JSON编辑器中复制“ intents.json”。...

    matlab开发-phrase2wordm

    在MATLAB编程环境中,"phrase2wordm"通常是指一个用于处理字符串的函数,特别是将连续的单词或短语拆分成单独的单词。这个过程在处理文本数据时非常常见,例如在自然语言处理(NLP)任务中。下面我们将详细讨论...

    Laravel开发-phrase-app-export

    在本文中,我们将深入探讨如何使用Laravel框架与Phrase App集成,实现命令行工具`phrase-app-export`,以便导出应用程序的本地化(locales)文件。Phrase App是一款强大的多语言翻译管理工具,它允许开发者轻松地...

    PyPI 官网下载 | django-phrase-1.0.2.tar.gz

    标题"PyPI 官网下载 | django-phrase-1.0.2.tar.gz"表明这是一个从Python Package Index (PyPI) 官方网站获取的软件包,名为`django-phrase`,版本号为1.0.2,其存储格式是tar.gz压缩文件。PyPI是Python开发者发布...

    gulp-phrase:简单的gulp插件即可使用phraseapp api

    task ( 'gulp-phrase' , function ( ) { phrase ( { apiToken : 'YOUR PHRASEAPP API TOKEN HERE' , dir : 'PAHT TO SAVE FILES' , tag : 'OPTIONAL' } , function ( files ) { // Array whith filenames // Now ...

    PyPI 官网下载 | django-phrase-0.0.2.tar.gz

    标题中的“PyPI 官网下载 | django-phrase-0.0.2.tar.gz”指出,这是一个在Python的包索引平台PyPI上发布的开源软件包。PyPI(Python Package Index)是Python开发者分享和发现模块、框架以及工具的地方,它使得安装...

    Custom-phrase.txt

    Custom_phrase.txt 是用于 rime小狼毫输入法中的自定义词典,自定义词典 Custom_phrase.txt 可以方便的管理和使用用户个性化的词条,大大丰富了输入法的功能。

    曼大学术写作Academiv-Phrase-Bank.pdf

    曼大学术写作Academiv-Phrase-Bank,对SCI英文论文写作有帮助。 A compendium of commonly used phrasal elements in academic English in PDF format

    eth-parity-phrase-convert

    eth-parity-phrase转换从特定于奇偶校验的助记符中转储以太坊地址和私钥。 初始步骤- 克隆回购yarn install安装依赖项然后运行执行- node ./index.mjs "any parity phrase goes in here"(请注意该短语周围的引号,...

    phrase2word.m:字符串分隔 - 对 ASCII 数据标题行有用-matlab开发

    %------------------------------------------------- ------------ % out=phrase2word(phrase, ) | 版本 1.1 %------------------------------------------------- ------------ % 将由分隔符分隔的输入短语剪切为...

    Python 3 Text Processing with NLTK 3 Cookbook(PACKT,2014)

    Starting with tokenization, stemming, and the WordNet dictionary, you'll progress to part-of-speech tagging, phrase chunking, and named entity recognition. You'll learn how various text corpora are ...

    NLTP 3 python 3

    Starting with tokenization, stemming, and the WordNet dictionary, you'll progress to part-of-speech tagging, phrase chunking, and named entity recognition. You'll learn how various text corpora are ...

    Homework-14-Extra-Phrase-to-Acronym:将短语转换为其首字母缩写词。 技术人员喜欢他们的TLA(三个字母的缩写)! 通过编写将长名称(如“便携式网络图形”)转换为首字母缩写词(PNG)的程序来帮助生成一些行话。 其他例子

    作业14-额外短语缩略语将短语转换为其首字母缩写词。 技术人员喜欢他们的TLA(三个字母的缩写)! 通过编写将长名称转换为以下内容的程序来帮助生成一些行话便携式网络图形的首字母缩写(PNG)“先进先出”-&gt; FIFO...

    php 邮件运用smtp

    - DKIM_passphrase (holds your DKIM passphrase) - DKIM_selector (holds the DKIM "selector") - DKIM_identity (holds the identifying email address) * added callback function support - callback ...

    Quality Plus Schedule - Phrase 1 - Rev 1

    根据提供的文件信息,“Quality Plus Schedule - Phrase 1 - Rev 1”主要涉及的是一个项目的进度管理计划,通过分析其中的任务名称、持续时间、开始日期、结束日期、前置任务以及资源名称等信息,我们可以总结出一...

Global site tag (gtag.js) - Google Analytics