游客 Signup | Login
中文 | En

2756 - 质数大家都很熟

通过次数

0

提交次数

0

Time Limit : 1 秒 Memory Limit : 128 MB

大家应该很熟悉质数的判断了,这道题作为入门题,也十分简单.

给你几个数,判断它们是不是质数.(-1,0,1都不是质数)

Input

第一行为数据的组数T.

之后的T行,每行输入一个数字K,K保证在int范围内。

Output

对每一个数字k,在单独的一行中输出它是不是质数。是的话输出yes,不是的话输出no,不要输出其他任何东西。

Examples

Input Format

2
6
13

Output Format

no
yes

Solution C

#include<stdio.h>
int main(){
	int i,m,n,k;
	scanf("%d",&n);
	for(k=n;k>0;k--){
		scanf("%d",&m);
		for(i=2;i<=m/2;i++)
			if(m%i==0)
				break;
				if(i>m/2&&m!=1&&m!=0&&m!=-1)
					printf("yes\n");
					else
					printf("no\n");
				
	}
	return 0;
}

Solution C++

#include<iostream>
using namespace std;
void correct(int K){
	int i;
	if(K==-1||K==0||K==1)
		cout<<"no"<<endl;
    else{	for(i=2;i<K;i++){
		if(K%i==0){cout<<"no"<<endl;break;}
	}
	if(i>=K)cout<<"yes"<<endl;}
}
int main(){int T,a;
	cin>>T;
	for(int m=0;m<T;m++){
		cin>>a;correct(a);}
   
}

Solution Java

import java.util.Scanner;
class Main {
	public static void main(String args[]) {
		Scanner reader = new Scanner(System.in);
		MainTest test=new MainTest();
		int T = reader.nextInt();
		for(int i=0;i<T;i++){
			int first=reader.nextInt();
			if(first<=1) System.out.println("no");
			else if(first==2||first==3)System.out.println("yes");
			else{
				if(test.prime(first)){
					System.out.println("yes");
				}
				else System.out.println("no");
				
			}
		}
	}
}
class MainTest{
	boolean prime(int n){
		for(int i=2;i<=Math.sqrt(n);i++){
			if(n%i==0) return false;
		}
		return true;
		
	}
}