题目链接 实现 #include <cstdio> #include <string> #include <cstring> #include <cmath> using namespace std; int main() { int M,nums[21]; int i; scanf("%d", &M); for (i= 0; i < M; i++) { scanf("%d", &nums[i]); } for (i = 0; i < M; i++) { int len, len1,specialNum=0,j; int num1; string str, str1; for (j = 1; j < 10; j++) { str = to_string(nums[i]); num1 = (int)j*pow(nums[i], 2); str1 = to_string(num1); len = strlen(str.c_str()); len1 = strlen(str1.c_str()); str1=str1.substr(len1-len,len); if (str1 == str) { specialNum = 1; break; } } if (specialNum) printf("%d %ld\n", j, num1); else printf("No\n"); } return 0; }