题解 | 素数判断

素数判断

https://www.nowcoder.com/practice/5ab1b9690af047699e96c87dee65def4

#include <stdio.h>

int main() {
    int a, b;
    scanf("%d", &a);
    
    while (a--) {
        scanf("%d", &b);
        
        if (b <= 1) {
            printf("No\n");
            continue;
        }
        if (b == 2) {
            printf("Yes\n");
            continue;
        }
        if (b % 2 == 0) {
            printf("No\n");
            continue;
        }
        
        int isPrime = 1;
        int i = 3;

        while (i * i <= b) {
            if (b % i == 0) {
                isPrime = 0;
                break;
            }
            i += 2;
        }
        
        if (isPrime) {
            printf("Yes\n");
        } else {
            printf("No\n");
        }
    }
    
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务