乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范。从小白开始逐步掌握用编程解决问题。
PAT乙级BasicLevelPractice 1064 朋友数
问题分析
这道题依旧是一道"给出定义要求计算"的题目, 计算之后要求做的是统计. (1063谱半径是要求再最值)
所以依旧是按照定义翻译成程序语言, 然后进行常规统计.
再次强调,统计数据要关注统计的是哪些数据以及存储形式, 这里统计的是数值出现的次数, 所以只需要用数组存储即可.
由于题设给定"朋友数"是各个数位上数字的和, 涉及到各个数位数字的读取(可以用整数存储然后不断取余, 这题的数值也不会有溢出问题),
以下采用字符串形式存储数值用索引访问各位数字的方式进行计算。
完整描述步骤
- 获取输入: 整数个数(要进行计算的次数), 各个整数
- 初始化统计器
- 数字和出现次数计数器
- 不同数字和个数计数器
- 对于每一个整数:
- 计算各个数位上数字之和
- 在统计器中将数字和出现的次数+1