L1-028 判断素数 (10分)
本题的目标很简单,就是判断一个给定的正整数是否素数。 输入格式: 输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2 31 的需要判断的正整数。 输出格式: 对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。 输入样例: 2 11 111 输出样例: Yes No 题目链接: https://pintia.cn/problem-sets/994805046380707840/problems/994805106325700608 判断是否为素数,只需要判断到一个数的平方根即可,否则会超时。 解题代码: # include <stdio.h> # include <math.h> int prime ( int n ) { int k ; if ( n == 1 ) return 0 ; k = ( int ) sqrt ( n ) ; for ( int i = 2 ; i <= k ; i ++ ) { if ( n % i == 0 ) return 0 ; } return 1 ; } int main ( ) { int T , x ; scanf ( "%d" , & T ) ; for ( int i = 1 ; i <= T ; i ++ ) { scanf ( "%d" , & x ) ; if ( prime (