#G2005. 逢七过

    ID: 992 传统题 1000ms 512MiB 尝试: 14 已通过: 8 难度: 入门 上传者: 标签>GESP二级多重循环数位拆分2026模拟

逢七过

题目描述

nn 个小朋友围成一圈玩「逢七过」,按顺时针编号为 1∼n1 \sim n。

游戏从 11 号小朋友开始,大家按顺时针方向轮流报数:11 号报 11,22 号报 22,……,nn 号报 nn,然后又轮到 11 号报 n+1n + 1,依此类推,一直报到 mm 为止。

规则是:如果要报的数是 77 的倍数,或者它的十进制写法里含有数字 77,这个小朋友就不能说出这个数,而要说「过」。例如 1414、1717、7070、7777、107107 都要说「过」,而 7777 虽然两个条件都满足,也只说一次「过」。

请你求出:

  1. 整个游戏中,一共说了多少次「过」;
  2. 其中第 pp 号小朋友说了多少次「过」。

输入格式

一行,三个整数 n,p,mn, p, m,用空格分隔。

输出格式

共两行。

第一行一个整数,表示一共说了多少次「过」。

第二行一个整数,表示第 pp 号小朋友说了多少次「过」。

样例 #1

样例输入 #1

3 2 30

样例输出 #1

6
2

样例解释

1∼301 \sim 30 中要说「过」的数是 7,14,17,21,27,287, 14, 17, 21, 27, 28,共 66 个。

33 个小朋友轮流报数,22 号报的是 2,5,8,11,14,17,20,23,26,292, 5, 8, 11, 14, 17, 20, 23, 26, 29,其中 1414 和 1717 要说「过」,所以 22 号一共说了 22 次。

提示

数据范围

  • 对于 30%30\% 的数据:m≤100m \le 100;
  • 对于 60%60\% 的数据:m≤1000m \le 1000;
  • 对于 100%100\% 的数据:1≤n≤1001 \le n \le 100,1≤p≤n1 \le p \le n,1≤m≤1061 \le m \le 10^6。

提示

  • 判断「含有数字 77」时,要用 % 10 取出个位、/ 10 去掉个位,反复做直到这个数变成 00。拆数位时请先把数复制到另一个变量里,不要直接改动外层循环的变量。
  • 报数 ii 的小朋友编号是 (i−1) mod n+1(i - 1) \bmod n + 1。