已知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);
}
相关推荐
京雨32 分钟前
UCAS-算法设计与分析(专硕)-复习参考
算法
掘根1 小时前
动态规划六——两个数组的dp问题
算法·动态规划
大G哥1 小时前
Python实现应用决策树的实例程序
开发语言·python·算法·决策树·机器学习
无限码力2 小时前
小R的蛋糕分享
算法
終不似少年遊*2 小时前
数据结构与算法之排序
数据结构·python·算法·排序算法
lgily-12252 小时前
Python常用算法
开发语言·python·算法
闻缺陷则喜何志丹2 小时前
【C++动态规划】1547. 切棍子的最小成本|2116
c++·算法·动态规划·力扣·最小·成本·棍子
James Shangguan2 小时前
LeetCode 704 如何正确书写一个二分查找
数据结构·算法·leetcode
Swift社区2 小时前
【Vue.js 组件化】高效组件管理与自动化实践指南
vue.js·算法·leetcode·职场和发展
快敲啊死鬼3 小时前
代码随想录18
算法