#include<stdio.h>
int main()
{
printf("2\n"); 这个打印2先跳过 最后讲解
int n,i=2; 定义两个变量 i初始为2是因为素数最小就为2
scanf("%d", &n);
while (i <= n) 大循环 将n的值赋值于i便于换算 用于循环n以内的数字
{
int t;
for (t = 2; t < i; t++) 小循环 用于判断是否为素数 意思为 i除以t取余 若 取余为0则不可能为素数 就用goto跳转到 i++ 进入 下次大循环 若取余不等于0就t加1再次进入小循环 直到t等于i-1时 如果此时还不能被整除 则说明为 素数 就打印此时的 i
{
if (i % t == 0)
{
goto oo;
}
if (t == i - 1)
{
printf("%d\n", i);
}
}
oo:i++;
}
return 0; 开头打印2是因为上述方法打印素数时会把2跳过去 故开头打印一下 2即可
}