#include<stdio.h>
#include<windows.h>
//解决思路,i设初值100没计算一次后累加,因为素数只有1和它本身两个质数,设t为处1和i本身以外的除数,如果整数为假0,依次截至。否则为真1,如果有一次为真截至输出,避免和多个t相除的的i重复输出
void test1()
{
int i, t;
for(i = 100; i <= 200; i++)
{
for(t = 2; t < i; t++)
{
if(i % t == 0) break;
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;
else if(i % t == 1) printf("%d ", i);
break;
t++;
}
}
printf("是素数\n");
}
void test3()
{
int i = 100, t = 2;
do
{
i++;
do
{
if(i % t == 0) break;
else if(i % t == 1) printf("%d ", i);
break;
t++;
} while(t < 199);
} while(i < 200);
printf("是素数\n");
}
void main()
{
test1();
test2();
test3();
system("pause");
}