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 }

 

posted @ 2020-02-26 17:23  tangq123  阅读(150)  评论(0编辑  收藏  举报