[洛谷 202406GESP 模拟 三级] 小洛的数字游戏
题目描述
小洛有一个正整数 n n n,他会进行若干次下列操作:
- 取出正整数 n n n 的末位,记作 x x x;
- 将 x x x 平方之后,保留个位,放于 n n n 的首位之前(如果是 0 0 0,则数字不保留前导 0 0 0);
上述两步合计为一次操作。例如有一个正整数 142 142 142,它可以进行如下操作:
- 取出末尾的 2 2 2,原正整数变为 14 14 14;
- 2 2 = 4 2^2=4 22=4,放于 14 14 14 首位之前成为 414 414 414,第一次操作完成;
- 取出末尾的 4 4 4,原正整数变为 41 41 41;
- 4 2 = 16 4^2=16 42=16,保留个位的 6 6 6,放于 41 41 41 的首位成为 641 641 641,第二次操作完成;
- 以此类推……
现在小洛想知道,对于一个正整数 n n n,能否进行不超过 q q q 次操作让其变为正整数 m m m。请你帮帮他。
输入格式
输入三个正整数 n , m , q n,m,q n,m,q。
输出格式
如果能进行不超过 q q q 次操作让正整数 n n n 变为正整数 m m m,则输出若干行,第 i i i 行输出一个正整数表示进行第 i i i 次操作后的正整数 n n n 的值。否则输出一行一个整数 − 1 -1 −1。
样例 #1
样例输入 #1
123 611 10
样例输出 #1
912
491
149
114
611
样例 #2
样例输入 #2
123 231 12345
样例输出 #2
-1
提示
对于 30 % 30\% 30% 的数据,保证小洛实际只需要不超过 5 5 5 次操作即可得到 m m m;
对于所有数据,数据保证 1 ≤ n , m ≤ 1 0 9 1\leq n,m\leq 10^9 1≤n,m≤109, 1 ≤ q ≤ 1 0 6 1 \leq q \leq 10^6 1≤q≤106。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容