为啥前几个WA,后面几个RE啊? 不能理解
#include <stdio.h> //虽然是C++,但是习惯用C的头文件
//不加std
#define ll unsigned long long //简写
//不要问inline是什么,我自己觉得美观写上去的,不影响
inline /*inline是内联关键字*/ ll len(ll n){ //获取位数
ll sum = 0;
while(n != 0){
sum++;
n /= 10;
}
return sum;
}
inline ll po(ll a, ll b){ //乘方
ll sum = 1;
for(ll i = 1; i <= b; i++) sum *= a;
return sum;
}
ll number[110005]; //临时存放变化的n
inline ll zulen(){ //临时获取变化的数据的数量
ll ans = 0;
for(ll i = 1; number[i] == 0; i++) ans++;
return ans;
}
int main(){
bool flag = false; //标记
ll n, m, q;
scanf("%lld %lld %lld", &n, &m, &q);
for(ll i = 1; i <= q; i++){
//进行操作
ll x = n % 10;
n /= 10;
x = po(x, 2);
x %= 10;
ll wei = len(n);
n = n + x * po(10, wei);
//存储不同的n
number[i] = n;
//如果相等,直接打标记后结束
if(n == m){
flag = true;
break;
}
}
ll forci = zulen();
//打印
if( flag ){
for(ll i = 1; i <= forci; i++) printf("%lld\n", number[i]);
}else printf("-1");
return 0;
}