Description
输入一个正整数 repeat (0<’repeat<10),做repeat 次下列运算:
输入一个正整数 m,如果它是素数,输出”YES”,否则,输出”NO”(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。
Input
见sample
Output
见sample
Sample Input
4
1 2 9 17
Sample Output
NO
YES
NO
YES
#include<stdio.h>
int main(){
int d,a,b,e,i=1;
bool c;
scanf("%d",&d);
for(;i<=d;i++)
{
scanf("%d",&a);
b=2;
c=true;
for(;b<=a/2;b++)
{
e=a/b;
e=e*b;
if(e==a)
{
c=false;
break;
}
}
if(a==1)
{
c=false;
}
if(c)
{
printf("YES");
}else{
printf("NO");
}
}}
这题有一定的难度。主要思路:先去得一个整数,然后循环二分之整数次(测试是否有因数,大于2/1整数的可以由另一较小的因数取得)。如果有因数则break,并标记。跳出后,如果标记为真则返回yes