借助开方

刚开始做这道题的时候,方法很多种,但是哪一种更好呢,如果知道开方的话就很容易了,开方之后,两个数是相等的,相差是0,但是很多数是没办法整数开方,那么同样道理,开方相差最小,那么无法开方,那最小肯定是在开方上下。
#include<iostream>
#include<cmath>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        int k=sqrt(n);
        int i=k;
        for(;i>0;i--){
            if(n%i==0)
                break;
        }
        cout<<i<<" "<<n/i<<endl;
    }return 0;
}



全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 10:56
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务