Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >口语电话号码

口语电话号码
EN

Code Golf用户
提问于 2019-08-12 20:32:58
回答 9查看 5.4K关注 0票数 35

目标

编写一个程序或函数,将一个数字电话号码翻译成文字,这样就容易说了。当数字被重复时,它们应该被理解为“双n”或“三重n”。

需求

输入

一串数字。

  • 假设所有字符都是0到9之间的数字。
  • 假设字符串至少包含一个字符。

输出

用空格隔开的单词,如何大声读出这些数字。

  • 数字翻译为:0“哦” 1“1”1“ 2”2“ 3”3“ 4”4“ 5”5“ 6”6“ 7”7“ 8”8“ 9”9“
  • 当同一数字连续重复两次时,写“双数字”。
  • 当同一数字在一行中重复三次时,写上“三重数”。
  • 当同一个数字重复四次或更多次时,为前两位数字写“双号”,并计算字符串的其余部分。
  • 每个单词之间正好有一个空格字符。一个单一的前导或尾随空间是可以接受的。
  • 输出不区分大小写。

评分

具有最少字节的源代码。

测试用例

代码语言:javascript
运行
AI代码解释
复制
input        output
-------------------
0123         oh one two three
4554554      four double five four double five four
000          triple oh
00000        double oh triple oh
66667888     double six double six seven triple eight
19999999179  one double nine double nine triple nine one seven nine
EN

回答 9

Code Golf用户

发布于 2019-08-12 22:10:04

Wolfram语言(数学),115个字节

代码语言:javascript
运行
AI代码解释
复制
{Switch[L=Tr[1^{##}],1," ",3," triple ",_," double "],If[#<1,"oh",IntegerName@#],If[L>3,#0@##3,""]}&@@@Split@#<>""&

在网上试试!

将数字列表作为输入。输出包括一个前导空间。

票数 4
EN

Code Golf用户

发布于 2019-08-13 12:28:45

斯塔克斯,56 字节数

代码语言:javascript
运行
AI代码解释
复制
ÇÖ◘⌡¿╒ô╞Γ▓8m☻t7♦3├(Ä⌂≤(┬Ω☻9▲ç╕C╞⌡òσ╗─╣╥─☻╪▼⌡5■ÿ,(┬¥?☺÷•±

运行并调试它

票数 4
EN

Code Golf用户

发布于 2019-08-13 00:24:44

Scala,213个字节

明白了。不知怎么的,我试图构建的递归版本比这个版本要冗长得多(虽然仍然是递归的,但只有一个例子)。函数f将电话号码作为输入字符串,并以尾随空格输出其语音。

代码语言:javascript
运行
AI代码解释
复制
var u="oh one two three four five six seven eight nine" split " "
"(.)\\1*".r.replaceAllIn(s,x=>{var o=x.matched
var k=u(o(0)-48)+" "
o.length match{case 3=>"triple "+k
case 1=>k
case _=>"double "+k+f(o drop 2)}})

在网上试试!

编辑:-8b感谢DrY Wit!

Scala,215个字节

现在出现了领先的空白版本,由于某种原因(即使是大规模重构),会增加两个字节。

代码语言:javascript
运行
AI代码解释
复制
var u="oh one two three four five six seven eight nine" split " "
"(.)\\1*".r.replaceAllIn(s,x=>{var o=x.matched
var k=u(o(0)-48)
" , double , triple ".split(",")(if(o.length>3){k+=f(o drop 2);1}else o.length-1)+k})

在网上试试!

票数 3
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/189859

复制
相关文章
对决!PHP vs Node.js !
这是典型好莱坞情节:分道扬镳的两位老朋友间的战斗。摩擦经常开始于一位对另一位不言而喻的领域感兴趣。这部电影的编程语言版本是Node.js的引入将好友情节变成一场旗鼓相当的比赛。PHP和JavaScript,两个曾经一起统治互联网的合作伙伴现在为了开发者心中的份额开始一决雌雄。
疯狂的技术宅
2019/03/27
2.4K0
对决!PHP vs Node.js !
WordPress Rank Math SEO插件任意元数据修改复现
Rank Math是一个WordPress插件,其开发人员称其为“WordPress (SEO)的瑞士军刀”,旨在帮助网站所有者通过搜索引擎优化(SEO)吸引更多流量到其网站。 该插件随附一个安装向导,可通过逐步安装过程对其进行配置,并支持Google架构标记(又名Rich Rich Snippets)、关键字优化、Google Search Console集成,Google关键字排名跟踪等。
Timeline Sec
2020/05/22
1K0
WordPress Rank Math SEO插件任意元数据修改复现
【专业技术】PHP对战Node.js
整个故事正如好莱坞大片的经典剧情走向:两位昔日好友如今分道扬镳,甚至被迫陷入了你死我活的斗争当中。刚开始的分歧并不严重,无非是一位老友对于另一位伙伴长久以来占据、但又绝口不提的业务领域产生了点兴趣。而在现实版的这场编程语言决斗大电影中,Node.js成了那位成了好兄弟反目成仇的导火索,并由此引发一场势均力敌、旗鼓相当的大战:PHP与JavaScript,双方曾一度携手统治整个互联网世界,但如今却为了争夺开发人员的支持而向对方痛下杀手。 遥想当年,合作关系总是简单而纯粹。那时候JavaScript负责处理
程序员互动联盟
2018/03/16
1.1K0
【专业技术】PHP对战Node.js
浅析 Node 进程与线程
进程与线程是操作系统中两个重要的角色,它们维系着不同程序的执行流程,通过系统内核的调度,完成多任务执行。今天我们从 Node.js(以下简称 Node)的角度来一起学习相关知识,通过本文读者将了解 Node 进程与线程的特点、代码层面的使用以及它们之间的通信。
山月
2020/05/26
9420
浅析 Node 进程与线程
node.js与ThreadLocal
ThreadLocal变量的说法来自于Java,这是在多线程模型下出现并发问题的一种解决方案。 ThreadLocal变量作为线程内的局部变量,在多线程下可以保持独立,它存在于 线程的生命周期内,可以在线程运行阶段多个模块间共享数据。那么,ThreadLocal变量 又如何与node.js扯上关系呢?
欲休
2018/08/01
1.4K0
Node.js 与未来
我是一个非常活跃的社区成员,我是 Node.js Collaborator,技术指导委员会成员,也是社区委员会的成员,并活跃在好几个工作组,我还是 OpenJS 基金会的活跃成员。同时也是 OpenJS 基金会跨项目理事会的投票成员,并已被选为 2020-2021 年度的 OpenJS 社区董事。你可以通过 Twitter(@mhdawson1)或 LinkedIn(https://www.linkedin.com/in/michael-dawson-6051282 )联系我。
五月君
2021/01/27
9530
Node.js 与未来
cocos2d-x 3.0 Node与Node层级结构
节点解释: 节点是场景图的基本元素。场景图的基本元素必须是节点对象或者是节点对象的子类。 其中主要可以看到Layer、MenuItem、Scene、Sprite、TMXTiledMap(解析and渲染TMX地图)、ParticleSystem(粒子系统基类)等等 Node是这些类的根类 节点的基本操作 创建节点    Node* childNode = Node::Create(); 增加新的子节点    node->addChild(childNode,z深度,tag); 查找子节点    Node* n
用户1624346
2018/04/17
6940
cocos2d-x 3.0 Node与Node层级结构
node.js学习与应用
学习资料 入门: 小白篇 http://samsungapps.csdn.net/text.html?arcid=311044 了解了 npm,类似于python的easy_install 把依赖的模
架构师刀哥
2018/03/20
1K0
Node.js 安装与开发
Node.js 简介 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。 V8引擎执行Javascript的速度非常快,性能非常好。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。 Node.js 使用事件驱动, 非
阳光岛主
2018/05/17
2.4K0
[MongoDB] mongodb与php
下载地址https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
唯一Chat
2019/09/10
8370
PHP与Recursion
在程序设计中,递归(Recursion)是一个很常见的概念,合理使用递归,可以提升代码的可读性,但同时也可能会带来一些问题。
LA0WAN9
2021/12/14
7550
【Cocos2d-x】开发基础-Node与Node层级架构
本篇博客讲解: 1.Node与Node层级架构 2.Node中重要的操作 3.Node中重要的属性 4.游戏循环与调度
谙忆
2021/01/21
5930
【Cocos2d-x】开发基础-Node与Node层级架构
程序语言(python、php、Node.js)调用Redis
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53037946
shaonbean
2019/05/26
7800
PHP 基础之 PHP 函数与对象
本章主要介绍 PHP 的函数与对象的一些应用: <?php // PHP 函数与对象 print("test"); // 或 print "test"; echo(abs(5-8)); /
echobingo
2018/04/25
1.2K0
PHP 基础之 PHP 函数与对象
PHP 之 FastCGI 与 mod_php
网上对于FastCGI与mod_php的知识比较杂乱而不全面,故在此整理一下,以便入门学习者查阅方便。 背景PHP最常用的方式是以模块的方式(mod_php)运行在Apache中,也是Apache运行PHP的默认方式;但在Nginx中,Nginx又使用的是PHP-FPM,但是PHP-FPM到底是个什么东东?跟php有什么关系?今天我们一起来探究一番。
conanma
2021/12/02
8240
OLAP引擎:基于Presto组件进行跨数据源分析
Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节,Presto虽然具备解析SQL的能力,但它并不属于标准的数据库范畴。
知了一笑
2021/04/29
1.2K0
OLAP引擎:基于Presto组件进行跨数据源分析
Node.js与PHP对战:一场关于开发者喜好的史诗级战役
整个故事正如好莱坞大片的经典剧情走向:两位昔日好友如今分道扬镳,甚至被迫陷入了你死我活的斗争当中。刚开始的分歧并不严重,无非是一位老友对于另一位伙伴长久以来占据、但又绝口不提的业务领域产生了点兴趣。而在现实版的这场编程语言决斗大电影中,Node.js成了那位成了好兄弟反目成仇的导火索,并由此引发一场势均力敌、旗鼓相当的大战:PHP与JavaScript,双方曾一度携手统治整个互联网世界,但如今却为了争夺开发人员的支持而向对方痛下杀手。
IT派
2018/07/30
4970
Node.js与PHP对战:一场关于开发者喜好的史诗级战役
Node 直出理论与实践总结
本文介绍了前端性能优化中的直出方案,通过减少HTTP请求、合并小文件、懒加载、使用服务器端渲染等方式来提高首屏渲染速度,降低白屏时间,从而提升用户体验。同时,总结了实施直出方案过程中的一些经验和教训,包括前端路由的使用和React同构直出优化等。
腾讯AlloyTeam
2017/04/27
2.2K0
node网页分段渲染与bigpipe(一)
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页面。服务端渲染则是服务端通过在后端拉取数
IMWeb前端团队
2017/12/29
8670
node网页分段渲染与bigpipe(一)
node网页分段渲染与bigpipe(一)
页面渲染,通常来说分为前端渲染以及后端渲染。前端渲染指的是服务端返回html框架以及模版,前端通过ajax异步请求拉取数据渲染模版,并动态修改dom,形成最终页面。服务端渲染则是服务端通过在后端拉取数据以及后端模版渲完整页面,并返回到客户端。2种方法各有好处,后端渲染带来的则是首屏时间的提高,减少请求次数,利于SEO等好处。但是传统后端直出渲染需要等到整个网页渲染完成,才能返回到客户端。假如某个区块拉取数据比较慢,影响了渲染的速度,那对于用户来说,等待的时候也会跟着变长对于后端渲染能否跟前端ajax渲染一样,分块分区域传统的服务端直出渲染,下面将提供一种解决方案-网页分段渲染。
IMWeb前端团队
2019/12/04
7200
node网页分段渲染与bigpipe(一)

相似问题

增加REST-API、node + express中的时间

10

Laravel与独立的REST-API通信

11

将PHP转换为Python (Rest-API连接)

12

如何使用Node-RED REST-API按数字进行筛选

11

node.js与php的区别

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文