PTA --- 天梯賽 L1-028 判斷素數


本題的目標很簡單,就是判斷一個給定的正整數是否素數。

輸入格式:

輸入在第一行給出一個正整數N≤ 10),隨后N行,每行給出一個小於231​​的需要判斷的正整數。

輸出格式:

對每個需要判斷的正整數,如果它是素數,則在一行中輸出Yes,否則輸出No

輸入樣例:

2
11
111

輸出樣例:

Yes
No

 

本題有3道坑點:

  • 1不是素數
  • 素數 :除了1和它本身以外不再被其他的除數整除
  • 判斷素數: 對於正整數n ,只需要從 2 開始到 根號n 【包括根號n】,遍歷即可,如果期間存在一個數可以被n 整除,則n 就不是素數
#include<stdio.h>
#include<math.h>
int getSu(int n){
    if(n == 1)
        return -1;
    int y = (int) sqrt(n);
    for(int i = 2;i <= y;i++){
        if( n % i == 0){
            return -1;
        }
    }
    return 1;

}
int main(){
    int n;
    scanf("%d",&n);
    while(n--){
        int x;
        scanf("%d",&x);
        int i = getSu(x);
        if(i == 1){
            printf("Yes\n");
        }else{
            printf("No\n");
        }
    }
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM