判断素数 is_prime

素数判断

//
// Created by yoyoOvQ on 2021/2/2.
//

#include <stdio.h>
#include <math.h>

int is_prime(int n){
    
    
    if (n <= 1) return 0;
    int m = floor(sqrt(n) + 0.5);
    for (int i = 2; i <= m; ++i)
        if (n % i == 0)  return 0;
    return 1;
}
int main(){
    
    
    int n;
    scanf("%d",&n);
    if (is_prime(n))
        printf("Yes");
    else
        printf("No");
    return 0;
}

变量m避免了每次重复计算sqrt(n),还通过四舍五入避免了浮点数误差。