3 条题解

  • 0
    @ 2024-7-30 16:55:10

    这道题嘛~~~~~~~~~~~~~~~ 要注意循环是: for(int i=2;i<=sqrt(n);i++) ! 这里不要写n,写了就寄了; 那么上代码

    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int t;
        cin>>t;
        while(t--){
            long long n;
            cin>>n;
            int i;
            for(i=2;i<=sqrt(n);i++){
                if(n%i==0){
                    cout<<i<<endl;
                    break;
                }
            }
            if(i==floor(sqrt(n))+1)cout<<n<<endl;
        }
    }
    

    爸爸点个赞再走呗,谢谢!

    • @ 2024-7-31 17:51:25

      解释一下 for(int i = 2;i <= sqrt(n);i++) 的时间复杂度是比 for(int i = 2;i * i <= n;i++) 略高 本题无影响

信息

ID
763
时间
1000ms
内存
256MiB
难度
1
标签
(无)
递交数
88
已通过
25
上传者