这份代码:
#include<bits/stdc++.h>
using namespace std;
int n,m,q,a[1000005];
int ws(int n){int s;while(n)n/=10,s++;return s;}
int does(int n){int x=((n%10)*(n%10))%10;n/=10;return (x*pow(10,ws(n)))+n;}
int main(){
cin>>n>>m>>q;
for(int i=1;i<=q;i++){
n=does(n);a[i]=n;
if(n==m){
for(int j=1;j<=i;j++)cout<<a[j]<<endl;
return 0;
}
}
cout<<-1;
}
看似没问题但是输出总是-1,再来看看下面这个:
#include<bits/stdc++.h>
using namespace std;
int n,m,q,a[1000005];
int ws(int n){int s;while(n)n/=10,s++;return s;}
int does(int n){int x=((n%10)*(n%10))%10;n/=10;return (x*pow(10,ws(n)))+n;}
int main(){
cin>>n>>m>>q;
for(int i=1;i<=q;i++){
n=does(n);a[i]=n;
if(n==m){
for(int j=1;j<=i;j++)cout<<a[j]<<endl;
return 0;
}
cout<<"";//加了这一行
}
cout<<-1;
}
加了一行无用代码后就可以规样例了。
样例全对,提交10pts,求调。