已知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 小时前
96% 成功率,零标注数据:我用 PCA + Hungarian 解了这道几何题
算法
华盛AI4 小时前
AI大模型竞品Anthropic Claude Opus 4.7深度分析
人工智能·算法
shehuiyuelaiyuehao4 小时前
算法21,搜索插入位置
python·算法·leetcode
夏日听雨眠4 小时前
数据结构(哈希函数)
数据结构·算法·哈希算法
昵称小白4 小时前
栈与单调栈专题
开发语言·算法
心.c4 小时前
RAG文档解析 - pypdf、LlamaParse、DeepDoc、SimpleDirectoryReader到底怎么选?
python·算法·ai
AI科技星4 小时前
基于代数拓扑与等腰梯形素数对网格【乖乖数学】
人工智能·算法·决策树·机器学习·数学建模·数据挖掘·机器人
jghhh014 小时前
基于时差(TDOA)与 频差(FDOA) 的无源定位
算法
_深海凉_4 小时前
LeetCode热题100-回文链表
算法·leetcode·链表
pursuit_csdn4 小时前
力扣周赛 501
算法·leetcode·职场和发展