當前位置:首頁 » 編程語言 » c語言找出300以內的素數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言找出300以內的素數

發布時間: 2023-01-19 15:45:19

c語言 找出300以內的所有素數,每行輸出6個

如果N是一個大於等於2的整數,並且只有1和N本身是它的因子,沒有別的正因子,則稱N是一個素數(質數)。
#include"stdio.h"
main()
{
int i,n,num;
for(n=0,num=0;n<=300;n++)
{
i=2;
while(i<n&&n%i!=0)
i++;
if(i==n)
{
printf("%6d",n);
num++;
}
}
printf("n素數個數為%d",num);
}
別浪費了我的寶貴時間!

㈡ c語言編程題:求100到300之間的所有素數

#include
#include
main()
{
int
m,i,k,h=0,leap=1;
//leap為標志位
printf("\n");
for(m=101;m<=300;m++)
//實現100到300的素數輸出
{
k=sqrt(m+1);
for(i=2;i<=k;i++)
if(m%i==0)
//如果數值能被2到根號m整除,將標志位賦值為0;跳出循環
{
leap=0;
break;
}
if(leap)
//如果標志位為1,表示從2到根號m不能整除m,即m是素數
{
printf("%-4d",m);
//格式輸出,相信你應該懂得,使輸出結果好看
h++;
if(h%10==0)
//每十個換行
printf("\n");
}
leap=1;
}
printf("\nThe
total
is
%d",h);
}

㈢ C語言程序設計,求300以內的素數,沒行輸出9個

#include<stdio.h>

int prime(int n)

{int i;

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

if(n%i==0)return 0;

return 1;

}

int main()

{int i,n=0;

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

if(prime(i))

{printf("%5d",i);

if(++n%9==0)printf(" ");

}

return 0;

}

㈣ 如何用c語言求300到500之間的素數

枚舉法:

void main(){

int i,j,k;

for(i=301;i<500;i+=2){

k=1;for(j=3;j*j<=i;j+=2)if(i%j==0){k=0;break;}

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

}

}

(4)c語言找出300以內的素數擴展閱讀:

將問題的所有可能的答案一一列舉,然後根據條件判斷此答案是否合適,合適就保留,不合適就丟棄。例如:找出1到100之間的素數,需要將1到100之間的所有整數進行判斷。

枚舉演算法因為要列舉問題的所有可能的答案,所以它具備以下幾個特點:

1、得到的結果肯定是正確的;

2、可能做了很多的無用功,浪費了寶貴的時間,效率低下。

3、通常會涉及到求極值(如最大,最小,最重等)。

4、數據量大的話,可能會造成時間崩潰。

㈤ c語言問題:求100-300之間的素數誰知道

int prime(int n)
{
int m;
for(m=2;m<=n;m++)
{
if(n%m==0)
return(0);
}
return(1);
}

#include "stdio.h"
main()
{
int i;
int count=0;
for(i=100;i<=300;i++)
{
if(prime(i));
count++;
}
for(i=100;i<=300;i++)
{
if(prime(i));
printf("%4d",i);
}
printf("100~300中素數的個數是%d",count);

}

可以使用 答案補充 已通過編譯

㈥ C語言程序設計,求300以內的素數,沒行輸出9個

#include
#include
void
main()
{
int
m,n,i,k;
n=0;
for(m=201;m<300;m=m+1)/*最外循環顯示取值范圍*/
{
k=sqrt(m);/*此處是判斷一個數是否是素數的方法,一個素數是數就是除了2和它本身之外不能被其他書整除,方法就是把m(假如m是素數)看做被除數,2到√m(開根號)之間的數作為除數,如果m能出盡i就說明m不是素數,否則就是素數*/
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%d
",m);
n=n+1;/*n相當於一個計數器,每輸出一個素數加1,直到加到5時相當於在一行輸出了5個素數,這時就利用n%5==0實現換行*/
}
if(n%5==0)
/*每行顯示5個數*/
printf("\n");
}
}

㈦ C語言 編程 輸出100~300之間所有素數

不用弄得這么復雜的,定義leam來判斷就行了。一開始定義leam=1,如果一個整數能被除了1和自身的數整除的話就把leam定義為0;當leam為1的時候就輸出這個整數。你上面有好多地方錯誤。下面是正確的
#include
"stdio.h"
void
main()
{
int
i,k,leam=1;
for(i=100;i<=300;i++)
{
for(k=2;k<i;k++)
{
if(i%k==0)
leam=0;
}
if(leam==1)
printf("%d\n",i);
leam=1;
}
}

㈧ c語言編程題:求100到300之間的所有素數

#include<stdio.h>

intmain(void)

{

inti,j,a;

intc[100]={0},n=0;

for(i=100;i<=300;i++)

{

a=0;

for(j=2;j<(i/2);j++)

{

if(i%j==0)

{

a=1;

}

}

if(a==0)

{

c[n]=i;

n++;

}

}

n=0;

while(c[n]!=0)

{

printf("%d ",c[n]);

n++

}

getch();

}

效果如圖: