P8615 [蓝桥杯 2014 国 C] 拼接平方数 - 洛谷 (luogu.com.cn)

cpp
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
bool jud(int p) {
int m = sqrt(p);
return m * m == p;
}
void solve(int n) {
string t = to_string(n);//int转换为string
for (int i = 1; i < t.size(); i++) {
string a = t.substr(0, i);//截取字符串
string b = t.substr(i, t.size());
int a1 = stoi(a);
int b1 = stoi(b);
if (a1 && b1) {
if (jud(n) && jud(a1) && jud(b1)) {
cout << n << endl; return;
}
}
}
}
int main() {
int a, b; cin >> a >> b;
for (int i = a; i <= b; i++)solve(i);
return 0;
}

