问题 E: 最小平方数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
已知正整数n,求最小的正整数x,使得n*x是一个平方数。例如n=12,则最小的x是3,n*x为36是一个平方数。
输入
仅一个正整数n,n <= 10000
输出
输出最小的正整数x。
样例输入
4
样例输出
1
思路
没有任何陷进,遍历即可
代码能过 但应该不是最优解
#include#include #include #include using namespace std; int main(){ int n,x; cin >> n ; for (int i = 1 ; ; i++) { if (i * i < n) { continue ; } if (i*i % n == 0) { x = i*i / n ; break ; } } cout << x ; return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)