题目描述
给定一个整数 n,请找出 n 的最大平方因子。所谓平方因子,就是一个 n 的因子,且是一个完全平方数。最大平方因子就是 n 的所有平方因子中最大的数。
如 1212 的最大平方因子为 44,8181 的最大平方因子为其本身,2121 的最大平方因子为 11。
输入格式
单个整数表示 n。
输出格式
单个整数表示 n 的最大平方因子。
数据范围
- 对于 50%50% 的数据,1≤100001≤n≤10000;
- 对于 100%100% 的数据,1≤10,000,0001≤n≤10,000,000。
样例数据
输入:
12
输出:
4
输入:
81
输出:详见代码:
81
输入:
21
输出:
1
详见代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
int ans;
cin >> n;
for (int i = 1; i * i <= n; i++) {
if (n % (i * i) == 0) {
ans = i * i;
}
}
cout << ans << endl;
return 0;
}