1184 - C语言7.8

用筛选法求100之内的素数,并输出。

题目输入

题目输出

在一行中输出100之内的所有素数,在每个素数后输出一个空格。

请注意行尾输出换行。

输入/输出样例

题目输入

题目输出

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 

C语言解答

#include <stdio.h>
int main() {
        int prime[100];
        int i, j;
        for (i = 0;i < 100;i++)
                prime[i] = 1;
        prime[0] = prime[1] = 0;
        for (i = 2;i < 100;i++) {
                if (prime[i] == 1) {
                        for (j = i + i;j < 100;j += i)
                                prime[j] = 0;
                }
        }
        for (i = 0;i < 100;i++)
                if (prime[i] == 1)
                        printf("%d ", i);
        puts("");
        return 0;
}

C++解答

#include <stdio.h>
int main() {
	int prime[100];
	int i, j;
	for (i = 0;i < 100;i++)
		prime[i] = 1;
	prime[0] = prime[1] = 0;
	for (i = 2;i < 100;i++) {
		if (prime[i] == 1) {
			for (j = i + i;j < 100;j += i)
				prime[j] = 0;
		}
	}
	for (i = 0;i < 100;i++)
		if (prime[i] == 1)
			printf("%d ", i);
	puts("");
	return 0;
}

时间限制 1 秒
内存限制 32 MB
讨论 统计
上一题 下一题