1 条题解

  • 1
    @ 2023-9-24 9:25:04

    对于这题,有两种情况: 1.是质数则直接输出"Yes" 2.不是质数则输出n最小的约数 int isprime(int n):

    所以可以从2到sqrt(n)穷举n的约数,找到了就把变量k变成i的值,break. 如果没找到,(因为前面先把k的值初始化为0),k的值不变. 上代码!

    #include<bits/stdc++.h>
    using namespace std;
    int isprime(int n)//定义函数
    {
    int k=0;//变量k初始化
    for(int i=2;i<=sqrt(n);i++)//穷举
    if(n%i==0) {k=i;break;}//赋值
    return k;//返回
    }
    int main()
    {
    int n;
    cin>>n;
    if(!isprime(n)) cout<<"Yes";//是质数
    else cout<<isprime(n);//不是
    }
    
    
    
    • 1

    信息

    ID
    1248
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    27
    已通过
    18
    上传者