亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么寫:編寫判斷素數的函數,輸出1000以內所有素數,(提示:是素數返回值為1,不是返回值為0)

怎么寫:編寫判斷素數的函數,輸出1000以內所有素數,(提示:是素數返回值為1,不是返回值為0)

C
kingsssup 2018-01-02 13:20:37
查看完整描述

3 回答

?
慕沐4449596

TA貢獻34條經驗 獲得超15個贊

#include<stdio.h>

#include<math.h>

int sushu(int n);

#define N 1000

int main()

{

int i,t;

for(i=2;i<N;i++)

{

t=sushu(i);

if(t) printf("%d\t",i);

}

putchar('\n');

return 0;

}

int sushu(int n)

{

int i;

if(n==2||n==3) return 1;

if(n%6!=1&&n%6!=5) return 0;

int temp=sqrt(n);

for(i=5;i<temp;i+=6)

if(n%i==0||n%(i+2)==0)

return 0;

return 1;

}

這個運行起來就快一點

查看完整回答
1 反對 回復 2018-01-06
?
慕沐4449596

TA貢獻34條經驗 獲得超15個贊

#include<stdio.h>

int sushu(int n);

#define N 1000

int main()

{

int i,t;

for(i=2;i<N;i++)

{

t=sushu(i);

if(t) printf("%d ",i);

}

putchar('\n');

return 0;

}

int sushu(int n)

{

int i;

for(i=2;i<n;i++)

{

if(n%i==0) break;

}

if(i>=n) return 1;

else return 0;

}

用分函數表示就是這樣

查看完整回答
反對 回復 2018-01-06
?
昵稱好難起757

TA貢獻17條經驗 獲得超0個贊

#include "stdio.h"

#include "math.h"

main()

{

int m,i,k,h=0,leap=1;

printf("\n");

for(m=2;m<=1000;m++)

{

k=sqrt(m+1);

for(i=2;i<=k;i++)

if(m%i==0)

{

leap=0;break;

}

if(leap)

{

printf("%-4d",m);

h++;

if(h%10==0)

printf("\n");

}

leap=1;

}

printf("\nThe total is %d",h);

return 0;

}


查看完整回答
反對 回復 2018-01-02
  • 3 回答
  • 0 關注
  • 2162 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號