已知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);
}
相关推荐
DoraBigHead44 分钟前
小哆啦解题记——异位词界的社交网络
算法
木头左2 小时前
逻辑回归的Python实现与优化
python·算法·逻辑回归
lifallen6 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree
web_Hsir8 小时前
vue3.2 前端动态分页算法
前端·算法
地平线开发者10 小时前
征程 6M 部署 Omnidet 感知模型
算法·自动驾驶
秋说11 小时前
【PTA数据结构 | C语言版】线性表循环右移
c语言·数据结构·算法
浩瀚星辰202411 小时前
图论基础算法:DFS、BFS、并查集与拓扑排序的Java实现
java·算法·深度优先·图论
oioihoii14 小时前
C++随机打乱函数:简化源码与原理深度剖析
开发语言·c++·算法
不知名。。。。。。。。14 小时前
分治算法---快排
算法
minji...14 小时前
数据结构 算法复杂度(1)
c语言·开发语言·数据结构·算法