#include<stdio.h>
#include<windows.h>
//核心逻辑概述:初始化变量i为100,并将其作为起始值,每循环一次进行累加。素数的定义是仅有1和其本身两个因数,因此设置变量t用于遍历可能的除数,从2开始至i-1。若在遍历过程中发现i能被t整除,则立即终止内层循环,表明i不是素数;若遍历结束仍未找到除数,则判定i为素数,输出其值。
void test1()
{
int i, t;
for(i = 100; i <= 200; i++)
{
for(t = 2; t < i; t++)
{
if(i % t == 0) break; // 若i能被t整除,则i非素数,终止内层循环
else
printf(“%d、”, i); /*采用中文顿号进行分隔,验证其可行性*/
break; // 在找到第一个非除数后即输出,避免重复输出
}
}
printf(“是素数!\n”);
}
void test2()
{
int i = 100, t = 2;
while(i < 200)
{
i++;
while(t < 199)
{
if(i % t == 0) break; // 若i能被t整除,则终止内层循环
else if(i % t == 1) printf(“%d “, i); // 此处逻辑可能存在误差,通常判断素数不涉及余1的情况
break; // 在找到第一个非除数后即输出,避免重复输出
t++;
}
}
printf(“是素数\n”);
}
void test3()
{
int i = 100, t = 2;
do
{
i++;
do
{
if(i % t == 0) break; // 若i能被t整除,则终止内层循环
else if(i % t == 1) printf(“%d “, i); // 此处逻辑可能存在误差,通常判断素数不涉及余1的情况
break; // 在找到第一个非除数后即输出,避免重复输出
t++;
} while(t < 199);
} while(i < 200);
printf(“是素数\n”);
}
void main()
{
test1();
test2();
test3();
system(“pause”);
}
————————————————
原文链接:https://blog.csdn.net/maoshanbo/article/details/125399762