题解:P17113 [Algo Beat 009 & MROI-R1] Number Game
题意
给定一个数
每次把当前数的各位数字相加得到新数。如果某次操作后,这个新数等于操作前的数,则这一轮的操作者输。判断胜负。
思路
可以来模拟一下这个过程,如果这个数比 s 来统计轮数,若 s 是奇数,则小 S 输,小 M 胜,反之,则小 M 输,小 S 胜。
代码
贴上 AC 代码。
#include<bits/stdc++.h>
using namespace std;
long long T;
long long x;
int main(){
scanf("%lld",&T);
while(T--){
long long n;
scanf("%lld",&n);
long long s=1;
while(n>=10){
long long m=n;
n=0;
while(m){
n+=m%10;
m/=10;
}
s++;
}
if(s%2==1) printf("M\n");
else printf("S\n");
}
return 0;
}
提交 撒花。
本蒟蒻的第四篇题解,求过。