Solution-CF2109C2

· · 题解

有大神拿这题做儿童节游园会小游戏,所以写篇题解。

首先除法是肯定不能直接用的,你首先需要尝试让 x 变成一定为某个数的倍数。于是考虑小学数学经典结论:如果对于一个数 x,若 x9 的倍数,则 S(x) 也为 9 的倍数。

于是我们可以尝试一下 S(9x),这个数是 9 的倍数,且不难发现其 <100

然后就简单了,因为 S(9x)9 的倍数,所以 S(S(9x))9 的倍数,显然只能为 9

除法是没有用的,但是确实对思路有帮助。

最终答案:

cout<<"mul 9\n";
cout<<"digit\n";
cout<<"digit\n";
cout<<"add "<<n-9<<"\n";