已知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);
}
相关推荐
梵刹古音6 分钟前
【C语言】 函数基础与定义
c语言·开发语言·算法
筵陌24 分钟前
算法:模拟
算法
We་ct1 小时前
LeetCode 205. 同构字符串:解题思路+代码优化全解析
前端·算法·leetcode·typescript
renhongxia11 小时前
AI算法实战:逻辑回归在风控场景中的应用
人工智能·深度学习·算法·机器学习·信息可视化·语言模型·逻辑回归
CoderCodingNo1 小时前
【GESP】C++四级/五级练习题 luogu-P1223 排队接水
开发语言·c++·算法
民乐团扒谱机1 小时前
【AI笔记】精密光时频传递技术核心内容总结
人工智能·算法·光学频率梳
CoderCodingNo2 小时前
【GESP】C++五级/四级练习题 luogu-P1413 坚果保龄球
开发语言·c++·算法
2301_822366352 小时前
C++中的命令模式变体
开发语言·c++·算法
XX風3 小时前
3.2K-means
人工智能·算法·kmeans
蒟蒻的贤4 小时前
leetcode链表
算法·leetcode·链表