1091 N-自守数
记录一下,用了string的erase函数,erase(起始位置,待删除元素个数),比如str.erase(0,n)表示从起始位置 0 开始删除 n 个数。
1 #include<iostream> 2 using namespace std; 3 4 int main() { 5 int m,k; 6 scanf("%d",&m); 7 while(m--) { 8 scanf("%d",&k); 9 int i = 1; 10 for(i = 1; i < 10; ++i) { 11 int t = i*k*k; 12 string s1 = to_string(t),s2 = to_string(k); 13 int len = s1.size() - s2.size(); 14 s1.erase(0,len);//从起始位置 0开始,删除 len个元素 15 if(s1 == s2) { 16 cout<<i<<" "<<t<<endl; 17 break; 18 } 19 } 20 if(i == 10) printf("No\n"); 21 } 22 return 0; 23 }