完全平方数
Problem Detail - H:.完全平方数 - 追梦算法网
题意就是给你一个数n,要求最小的数x使得n*x是一个完全平方数
数据范围很大,到10的12次方
#include<iostream> #include<cmath> using namespace std; typedef long long int ll; int pd(ll x) { double m=sqrt(x); if(floor(m+0.5)==m) return 1; else return 0; } int main(){ ll n; cin>>n; if(pd(n)) { cout<<"1"<<endl; return 0; } ll f=0,res,minn=1e18; for(int i=2;i<=n/i;i++) { if(n%i==0) { ll x=i,y=n/i,a,b; if(x>y) a=x,b=y; else a=y,b=x; if(a%b==0) { f=1; res=a/b; minn=min(minn,res); } } } if(f) cout<<res<<endl; else cout<<n<<endl; return 0; } /* 一个数可以分解为x*y的形式,如果x%y==0||y%x==0--->y/x,x/y; 不可以那就直接本身 如果本身是平方数那答案就是1 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具