1樓:蚯蚓翔龍
//這是為你手打的,你去看看,望採納,謝謝#include
#include
int main ()
int prime(int);//prime(m) 判斷m是否是素數。
int c=0,n,s=0;
printf("輸入一個數:");
scanf("%d",&n);
while(n<100||n>200)
printf("輸入有誤,請重新輸入一個100到200之間的正整數!\n");
scanf("%d",&n);
if(prime(n)!=0) //判斷x返回值是否為0決定列印printf("%-5d是素數\n",n);
else
printf("不是素數\n",n);
return 0;
int prime(int x)
int i,j;
j=(int)sqrt(x); //進行判斷的迴圈次數for(i=2;i<=j;i++)
if(x%i==0) //可以縮成一行
break;
if(i<=j||x==1)
x=0;
return x;
2樓:匿名使用者
if (p % 2 == 0)
for (int i = 3; i <= math.sqrt(p); i+=2)
}return true;
3樓:微笑青春的的
兩眉如雪照平川。。歌罷香雲滿玉田。。
c語言程式設計判斷輸入的正整數是否為素數。
4樓:風翼殘念
將:for(k=2;k<=x[i]-1;k++)改成:for(g=0,k=2;k<=x[i]-1;k++)主要是在這個for迴圈前令g=0。
因為輸入的不止一個數,開頭的初始化g=0,在第一個數的時候就可能已經被改了。後面的數不重新初始化g=0,就不能保證對了。
判斷一個正整數n是不是素數的思路:
思路1):因此判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼 m 就是一個素數。
思路2):另外判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每一個整數去除,只需被 2 ~ √m 之間的每一個整數去除就可以了。
如果 m 不能被 2 ~ √m 間任一整數整除,m 必定是素數。例如判別 17 是是否為素數,只需使 17 被 2~4 之間的每一個整數去除,由於都不能整除,可以判定 17 是素數。
原因:因為如果 m 能被 2 ~ m-1 之間任一整數整除,其二個因子必定有一個小於或等於 √m,另一個大於或等於 √m。
例如 16 能被 2、4、8 整除,16=2*8,2 小於 4,8 大於 4,16=4*4,4=√16,因此只需判定在 2~4 之間有無因子即可。
正確**如下:
#include/*sqrt*/
#include/*scanf,printf,system*/
int isprime(int n)//判斷n是否為素數,如果是則返回1,否則返回0。
main ()
擴充套件資料:
輸入一個正整數或0,判斷是否為質數:
#include "stdio.h"
int main()
if(i==flag&&(n%i)!=0)
printf("%d是質數\n",n);
} } }}
5樓:匿名使用者
素數:有無限個,除了1和它本身以外不再有其他的因數。所以可以通過for迴圈從2到n-1依次整除n如果能整除則不是素數,否則就是素數。
參考**:
#include
int fun(int n){//判斷n是否是素數int i;
for(i=2;i
6樓:永星天恆
#include
int main()
if(g==0)
printf("yes ");
else
printf("no ");}}
return 0;
}修改後測試結果正確
7樓:斯嘉麗_熹微
// 輸入一個數,判斷其是否為素數
#include "stdafx.h"
#include
#include
int main()
else if(i==n-1)
printf("%d是素數\n", n);
}system("pause");
return 0;
}希望對你能有幫助
8樓:匿名使用者
輸入:共兩行,第一行一個整數,為輸入正整數的個數n(1<=n<=1000);第二行n個空格隔開的正整數ai(1 <= ai <= 1000)
輸出:一行,對於每個正整數,如果是素數則輸出yes,否則輸出no,中間用空格隔開。
以下是我編寫的程式
#include
int main()
if(g==0)
....
9樓:定定定定定軍
你的**沒錯,不過有點瑕疵。你試試這個**,執行時是不是資訊更清晰了。還有,定義陣列的時候不要定義的太大,那樣浪費記憶體,我該改成100了,呵呵。
c語言題,任意輸入一個正整數,判斷是否為素數
10樓:山火映寒
網上抄的抄**,但是看了襲
一下,思想還是對的,迴圈用比自身小的數來做除。
#include
void main()
if(i==n)
printf("%d is prime\n",n);
else
printf("%d is no prime\n",n);}
c語言程式設計問題:從鍵盤輸入一個正整數,判斷該數是否素數並輸出。如果輸入的不是正數,則提示輸入錯誤
11樓:匿名使用者
#include
#include
bool check(int);
int main(void)
if (check(num))
printf("%d是素數\n", num);
else
printf("%d不是素數\n", num);
return 0;
}bool check(int number)
c語言程式設計:輸入一個正整數n,判斷它是否為素數
12樓:跪著作揖
#include
#include
using namespace std;
int main()
}if(flag)
else
return 0;
}擴充套件資料:其他方法判斷一個數是否是素數:
/*** 判斷一個數是否為素數
* @param n
* @returns
*/var isprime = function (n)for (var i = 2; i <= math.sqrt(n); i++)
}return true;}
13樓:魏子棟
#include/*sqrt*/
#include/*scanf,printf,system*/int isprime(int n)//判斷n是否為素數,如果是則返回1,否則返回0.
main ()
14樓:匿名使用者
這個程式是求100以內的素數。希望你在這個基礎上根據你的需要進修修改。這樣你既能參考也能學習哈~~~
#include "stdio.h"
void main()
if(y==2)
printf("%5d",x); }}
15樓:匿名使用者
#include
#include
void main()
if(i>=n)
printf("n=%d,是素數
\n",n);
else
printf("n=%d,不是素數\n",n);}
16樓:匿名使用者
#include
int isprime(int n)
for(i=2;i*i<=n;++i)
}return 1;
}int main(void)
else
return 0;}
17樓:匿名使用者
#include
using namespace std;
int main()
if(s==0)
cout<<"yes!前方發現一隻野生的素數!";
else
cout<<"no!你竟然發現了一隻可怕的合數!";
return 0;
}//這是c++,不過思路可以借鑑(〜^㉨^)〜
18樓:匿名使用者
#include
#include
int main(void)
}printf("這個數(%d)是素數!\n");
return 0;
}// 不懂請追問
19樓:重名啊人太多了
#include
#include
void main()
}if(i>k)
else}
20樓:來賓你好闖天涯
boolean flag= true;
for(i=2;i }if(flag) 用c語言 從鍵盤上任意輸入一個正整數,判斷是否為素數。 21樓:匿名使用者 #include #include int shu(long unsigned num) //判斷一個給定的數num是不是素數 //是返回1,否則返回0 22樓:無月⑥聲 #include "stdio.h" void main() if(j>(i/2))}} 程式設計題,輸入正整數的個數n,再輸入n個正整數,判斷它們是否為素數。素數就是隻能被1和自身整除的正整數 23樓:郭彭薄 flag=t //這個t是表示ture,flag是一個標記變數, for i=2 to n-1 //這個迴圈i的值由2-i-1if mod(n,i)=0 //在2-i-1這些數中如果除n的餘數為0(mod是求餘函式) flag=f. //則把flag變數改為f,也就是false,exit //同時用exit退出for迴圈endif endfor if flag=.t //迴圈後判定flag的值就可以判定n是不是素數 ?n,"是素數" else ?n,"不是素數" endif 24樓: 自己看下,不懂就追問 25樓:紫木夕兒 i沒有初值,也沒有變化。加個for迴圈就行了。 printf("輸入%d個正整數:\n",n); for(i=0;i scanf("%d",&a[i]); 執行結果是copy對的!問題估計錯在輸入語句bai的格式上 du,scanf d d a,b 兩個變數之間沒有逗號zhi,那麼 從鍵dao盤上輸入a 1,b 100應該是 1 空格 100,千萬不能寫成1,100 以下為我執行的結果圖 補充一點,你修改的程式是else語句是多餘的,沒有第一個好!in... 給你個思路。首先,定義20個陣列。然後在過程里弄個for迴圈,比如for i 1 to 20利用隨機函式,生成65 90之間的函式,賦值到變數,比如 str int 90 65 1 rnd 65 再弄個for迴圈,比如for j 1 to i判斷是否重複 if 陣列名 j str thencall ... 先選合適自己的大小,其實160mm以上就可以用41的吉他!新手也就是買練習琴咯!雖然是練習琴,練習琴只要買300 500的琴,300 500的琴只是前期拿來練手用的,到了中後期就會感覺到和麵單全章之間的差別,自然而然就不會用300 500的合板琴了.推薦你買樂爵吉他4002,這款吉他廠家打著高配低價...c語言程式 輸入任意兩個數,求兩個數之間的所有資料的和
vb程式設計題隨機產生不重複的A Z之間的英文字母,按字母順序輸出,每行
想買一把民謠吉他,200到300之間的價格。求