[1002]prime

输入一个数,判断其是否为素数;

本题有多组测试样例。

输入规则如下:

第一行为一个整数,样例组数T;

第二至第t+1行每行都有一个整数a(a >= 2),表示需要处理的数;

 

如果是素数则输出“yes”,否则输出“no”,每个样例的输出占1行;

 

输入输出样例:

输入:

2

99

17

输出:

no

yes

 

 

就是判断素数问题,本来我是想用sqrt的,但是不知道为什么过不了,所以就用了\2,本来用前者是能够减少时间的,不过检测数据小,都没有关系

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

  

 

标程

1.#include <stdio.h>
2. 
3.int main()
4.{
5.    int t, a, i;
6.    scanf("%d", &t);
7.    for (; t > 0; t--)
8.    {
9.        scanf("%d", &a);
10.        for (i = 2; i <= a/2; i++)
11.        {
12.            if (a % i == 0) break;
13.        }
14.        if (i > a/2) printf("yes\n");
15.        else printf("no\n");
16.    }
17.    return 0;
18.}

  

posted on 2016-01-12 16:53  _阿赞  阅读(319)  评论(0编辑  收藏  举报