已知n找最小正整数x使n*x为一个平方数

已知正整数n,求最小的正整数x,使得n*x是一个平方数。例如n=12,则最小的x是3,n*x为36是一个平方数。

输入

仅一个正整数n,n < 231

输出

输出最小的正整数x。

样例输入 Copy
复制代码
4
样例输出 Copy
复制代码
1
cs 复制代码
#include <stdio.h>
#include<math.h>
int main(void)
{
	int n;
	scanf("%d",&n);
	int x;
	for(int i=sqrt(n);i>0;i--)
	{
		if(n%(i*i)==0)
		{
			x=n/(i*i);
			break;
		}
	}
	printf("%d",x);
}
相关推荐
金融小师妹4 分钟前
量化解析美英协议的非对称冲击:多因子模型与波动率曲面重构
大数据·人工智能·算法
是店小二呀8 分钟前
【算法-哈希表】常见算法题的哈希表套路拆解
数据结构·c++·算法·散列表
绿皮的猪猪侠1 小时前
搜索与图论
算法·深度优先·图论
zx431 小时前
常见的降维算法
笔记·python·算法
June`1 小时前
动态规划之背包问题(分割等和子集问题)
算法·动态规划
Felven1 小时前
C. Vlad and a Sum of Sum of Digits
算法
Flower#3 小时前
D. Apple Tree Traversing 【Codeforces Round 1023 (Div. 2)】
c++·算法·图论·dfs
zhangfeng11333 小时前
Matlab 遗传算法的库 gads
算法·数据分析
究极无敌暴龙战神X4 小时前
hot100-子串-JS
javascript·数据结构·算法
codists10 小时前
《算法导论(第4版)》阅读笔记:p14-p16
算法