㈠ 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();
}
效果如圖: