c语言输出100以内素数用函数,用C语言 输出100以内的素数,

以下是引用学c在2007-11-7 17:45:56的发言:

#include

int main(void)

{

int i,j,k;

printf("%d\n",1);1肯定是素数

for(i=1;i<=100;i+=2)

{

for(j=2;j

if(i%j==0) break;

if(i==j)

printf("%d\n",i);

}

return 0;

}

时间复杂度高了

----------------解决方案--------------------------------------------------------

以下是引用学c在2007-11-7 17:45:56的发言:

#include

int main(void)

{

int i,j,k;

printf("%d\n",1);1肯定是素数

for(i=1;i<=100;i+=2)

{

for(j=2;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;

}

----------------解决方案--------------------------------------------------------

有点不明白,i+=2的意义是什么呢,能注释一下吗

for(j=2;j

if(i%j==0) break;

if(i==j)

这两句的意思是什么呢,用在这边求什么呢

为什么1这个素数不能跟,1以上的素数,一起输出吗,

要分开输出呢

----------------解决方案--------------------------------------------------------

1不是素数.

还有偶数一定不是素数(除2外)

素数要检测的只要对已求得的素数做判断就行.

----------------解决方案--------------------------------------------------------

i+=2相当于i=i+2;

for(j=2;j

if(i%j==0) break;/*是排除能被小于i的自然数整除的数*/

if(i==j) /*如果从2到小于i的数都不能整除i,即为素数*/

就打印出来

----------------解决方案--------------------------------------------------------

for(j=2;j

if(i%j==0) break;

if(i==j)

这意思是i与j取模的值如果是0,就返回。如果i等于j就做下面的

哈哈,我也是新手,楼主:我对吗?

----------------解决方案--------------------------------------------------------

以下是引用cosdos在2007-11-7 18:53:41的发言:

/* 判断素数的函数 */

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

{

if(i%j==0)

goto loop; //goto语句

}

printf("%d\n",i); loop: ;    //这有一个空语句

} getch(); //显示结果

}

这个可以输出素数哦.

----------------解决方案--------------------------------------------------------

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值