#GESP1MN02. 数字统计
数字统计
GESP C++ 一级模拟题
题目名称:数字统计
知识点
- 循环结构(for循环、while循环)
- 条件判断(if语句)
- 数学运算(取模、除法)
- 数字处理
题目描述
小华想要统计一个正整数中各位数字的分布情况。给定一个正整数 n,请统计这个数字中:
- 有多少个偶数位(个位、百位、万位等,从右往左数第1、3、5...位)
- 有多少个奇数位(十位、千位等,从右往左数第2、4、6...位)
例如:数字 12345
- 偶数位:个位5、百位3、万位1,共3个
- 奇数位:十位4、千位2,共2个
输入格式
一行,包含一个正整数 n(1 ≤ n ≤ 1000000)
输出格式
两行:
- 第一行输出偶数位的个数
- 第二行输出奇数位的个数
样例输入1
12345
样例输出1
3
2
样例1说明:
- 偶数位(第1、3、5位):5、3、1,共3个
- 奇数位(第2、4位):4、2,共2个
样例输入2
100
样例输出2
2
1
样例2说明:
- 偶数位:个位0、百位1,共2个
- 奇数位:十位0,共1个
样例输入3
7
样例输出3
1
0
样例3说明: 只有个位(偶数位),共1个;没有奇数位,共0个
提示
- 可以使用循环逐位处理数字
- 用变量记录当前是第几位(从1开始)
- 使用取模运算(%)获取当前位的数字
- 使用除法(/)去掉已处理的位
- 根据位数的奇偶性进行统计
考察知识点总结
- ✅ 循环语句的使用(while循环)
- ✅ 条件判断(if语句)
- ✅ 数学运算(取模%、除法/)
- ✅ 变量计数
- ✅ 数字的位处理
难度评估
难度: ⭐⭐⭐☆☆(中等)
适合: GESP C++ 一级考生练习