#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. 可以使用循环逐位处理数字
  2. 用变量记录当前是第几位(从1开始)
  3. 使用取模运算(%)获取当前位的数字
  4. 使用除法(/)去掉已处理的位
  5. 根据位数的奇偶性进行统计

考察知识点总结

  • ✅ 循环语句的使用(while循环)
  • ✅ 条件判断(if语句)
  • ✅ 数学运算(取模%、除法/)
  • ✅ 变量计数
  • ✅ 数字的位处理

难度评估

难度: ⭐⭐⭐☆☆(中等)

适合: GESP C++ 一级考生练习