读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789
 

输出样例:

yi san wu

 1 use std::collections::HashMap;
2 use std::io;
3
4 pub fn write_the_number(n: String) -> Vec<String> {
5
6 let mut temp_hashmap = HashMap::new();
7 temp_hashmap.insert(0u8, "ling");
8 temp_hashmap.insert(1,"yi");
9 temp_hashmap.insert(2, "er");
10 temp_hashmap.insert(3, "san");
11 temp_hashmap.insert(4, "si");
12 temp_hashmap.insert(5, "wu");
13 temp_hashmap.insert(6, "liu");
14 temp_hashmap.insert(7, "qi");
15 temp_hashmap.insert(8, "ba");
16 temp_hashmap.insert(9, "jiu");
17
18
19 let sum = n
20 .chars()
21 .map(|temp| {
22 temp.to_string()
23 .as_str()
24 .parse::<u32>()
25 .unwrap()
26 })
27 .collect::<Vec<u32>>()
28 .iter()
29 .sum::<u32>();
30
31 let ret = sum
32 .to_string()
33 .chars()
34 .map(|i| {
35 let index = i.to_string().parse::<u8>().unwrap();
36 temp_hashmap.get(&index)
37 .unwrap()
38 .to_string()
39 }).collect::<Vec<String>>();
40
41 ret
42 }
43
44
45 fn main() {
46 let mut input_string = String::new();
47
48 io::stdin().read_line(&mut input_string)
49 .expect("Failed to read line");
50
51 let n = input_string.trim().to_string();
52 let ret = write_the_number(n);
53 for i in 0..ret.len() {
54 if i == ret.len() - 1 {
55 print!("{}", ret.get(i).unwrap());
56 }else {
57 print!("{} ", ret.get(i).unwrap());
58 }
59 }
60 }

GIthub Link:https://github.com/DaviRain-Su/my_rust_road/blob/master/pat_solution/src/lib.rs

【PAT】 1002 写出这个数 Rust Solution的更多相关文章

  1. PAT 1002 写出这个数 (20)(代码)

    1002 写出这个数 (20)(20 分) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100 ...

  2. PAT 1002. 写出这个数 (20)

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...

  3. PAT 1002 写出这个数

    https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384 读入一个自然数n,计算其各位数字之和,用汉语 ...

  4. PAT——1002. 写出这个数

    读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每 ...

  5. 【PAT】1002. 写出这个数 (20)

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...

  6. PAT乙级 1002. 写出这个数 (20)

    1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字 ...

  7. [C++]PAT乙级1002.写出这个数(20/20)

    /* 1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10^100. ...

  8. PAT 乙级 1002.写出这个数 C++/Java

    1002 写出这个数 (20 分) 题目来源 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n ...

  9. PAT 乙级练习题1002. 写出这个数 (20)

    1002. 写出这个数 (20) 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式 ...

  10. PAT-乙级-1002. 写出这个数 (20)

    1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字 ...

随机推荐

  1. GIT 操作大全 基于廖雪峰

    命令显示从最近到最远的提交日志  git log /  git log --pretty=oneline 回退到上一个版本:$ git reset --hard HEAD^   (用HEAD表示当前版 ...

  2. Win系统下的免杀思路(总结非教程)

    1.简介 在安全厂商日趋成熟的背景下,编写免杀马的难度和成本日益增长.好用新兴的开源项目在短时间内就被分析并加入特征库.笔者调研了部分开源项目,其中也有项目做了类似的分析 [1],目前能够免杀的项目初 ...

  3. [ElasticSearch]#解决问题#修改Search Guard密码时 报错:ERR: Seems there is no Elasticsearch running on localhost:9300 - Will exit

    问题复现 [root@es2 tools]# ps -ef | grep elasticsearch 9200 22693 1 1 09:31 ? 00:04:54 /usr/bin/java -Xm ...

  4. 五月十一号java基础知识点

    1.通过add()方法向链表list输入1-10十个数for (int i = 1; i <11 ; i++) { list.add(i);//向链表添加1-10的整数 } import jav ...

  5. Redis读书笔记(三)

    单机数据库的实现 Redis数据库 Redis数据库的实现 struct redisServer { //... //保存服务器中的所有数据库, 数组 redisDB *db; //服务器的数据库数量 ...

  6. day8:列表相关函数&深浅拷贝&字典相关函数&集合相关操作/函数

    字符串/列表/字典/集合 目录 字符串相关操作: 拼接 重复 跨行拼接 索引 切片字符串相关函数:常规11+is系列3+填充去除6+最重要3字符串拓展:字符串的格式化format 列表的相关操作:拼接 ...

  7. 深度学习--全连接层、高阶应用、GPU加速

    深度学习--全连接层.高阶应用.GPU加速 MSE均方差 Cross Entropy Loss:交叉熵损失 Entropy 熵: 1948年,香农将统计物理中熵的概念,引申到信道通信的过程中,从而开创 ...

  8. 【FAQ】关于JavaScript版本的华为地图服务Map的点击事件与Marker的点击事件存在冲突的解决方案

    一. 问题描述 创建地图对象,并添加marker标记,对map和marker均添加了点击事件: <body> <script> function initMap() { // ...

  9. WPF Button MouseDown事件

    Button的MouseDown事件 WPF的Button控件,鼠标点击时,MouseDown事件没有触发. 经确认,Button的MouseDown被内部处理了.下面是基类ButtonBase的部分 ...

  10. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(12)- 从SD/eMMC启动

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦i.MXRT1xxx系列MCU的SD/eMMC卡启动. 最近在恩智浦官方社区上支持了一个关于 i.MXRT 从 SD 卡启动的案例 ...