#include <stdio.h>
int main(void)
{
int i,j,k;
printf("%d\n",1);1肯定是素数

for(i=1;i<=100;i+=2)
{
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
printf("%d\n",i);
}
return 0;
}
时间复杂度高了
时间复杂度高了
1 不是素数
/* 判断素数的函数 */
long sushu(long n)
{
long i;
for(i = 2; i <= n / 2; i++)
{
if(n % i == 0)
return 0;
}
if(n > 1)
return n;
return 0;
}
for(j=2;j<i;j++)
if(i%j==0) break;
if(i==j)
这意思是i与j取模的值如果是0,就返回。如果i等于j就做下面的
哈哈,我也是新手,楼主:我对吗?
/* 判断素数的函数 */
long sushu(long n)
{
long i;
for(i = 2; i <= n / 2; i++)
{
if(n % i == 0)
return 0;
}
if(n > 1)
return n;
return 0;
}
兄弟少了个循环吧
int main()
{
int i,j;
printf("100内的素数包括:\n");
for(i=2;i<=100;i++)
{
for(j=2;j<=sqrt(i);j++)
{
if(i%j==0)
break;
}
if(j>sqrt(i))
{
printf("%d,",i);
}
}
printf("\n");
return 0;
}
main()
{
int i,j;
clrscr(); //清屏函数
printf("1,2\n");
for(i=2;i<100;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0)
goto loop; //goto语句
}
printf("%d\n",i); loop: ; //这有一个空语句
} getch(); //显示结果
}
这个可以输出素数哦.