已知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);
}
相关推荐
yyytucj3 小时前
多用户MIMO预编码技术的对比
算法·预编码算法
软件算法开发4 小时前
基于卡尔曼滤波的雷达光电多目标航迹融合算法matlab仿真
算法·matlab·卡尔曼滤波·雷达光电·多目标航迹融合
吐泡泡科技5 小时前
MATLAB风光柴储微网粒子群算法
算法·matlab·粒子群算法·风光柴储微网
不吃元西5 小时前
leetcode top100矩阵题73.54.48.240
算法·leetcode·矩阵
subject625Ruben5 小时前
Matlab多种算法解决未来杯B的多分类问题
人工智能·算法·机器学习·数学建模·matlab·分类·未来杯
hy____1236 小时前
字符串函数和结构题内存对齐
c语言·算法
YoloMari7 小时前
Leetcode刷题-枚举右,维护左
python·算法·leetcode
东雁西飞8 小时前
MATLAB 控制系统设计与仿真 - 26
开发语言·算法·matlab·工业机器人·智能机器人
Dream it possible!9 小时前
CCF CSP 第30次(2023.09)(1_坐标变换_C++)(先输入再计算;边输入边计算)
c++·算法·csp