1樓:環凡邇
最簡單的方法,用m和[2,m-1]之間所有的數都除一遍,如果沒有可以整除的,那麼m就是素數(這是素數的概念,很容易理解吧)。所以最多判斷[2,m-1]區間內的數即可,lz提問的[2,m+2]這個區間明顯大了,用m/(m+2)怎麼都不能整除吧。。。根本不用判斷。。。
其實這個判斷區間可以縮小為[2,√m],就是2到根號m的取整值。假設m如果不是素數,那麼m可以分解成m=a*b。設a<√m如果覺得這個區間麻煩的話,簡化成[2,m/2]也可以,理由同上。但lz給出的這個區間太大了。。。
2樓:不甜的糖
2,m/2】 其實很簡單的在於乙個小環節,就是這個區間上兩個極值(就是邊界)乘積就是m.
素數的概念是除了一和他本身外不可以被其他數字整除的數,其實就是質數的概念。乙個數字不能被2整除的話,那他也不能被m/2以上的數字整除 簡單的舉個例子,9不可以被2整除,那他也就一定不可以被以上的整除了。
3樓:朦朧雨
是【2,m-1】吧。
還有是整除m,而不是被m整除!
素數即是隻能被本身和1整除的數。
素數肯定是大於0。被1整除又不算。所以下限是2。
而m除以大於m的數肯定不可能是整數!
4樓:網友
判斷m是不是素數的方式有很多種,用[2,m+2]作為除數只是其中的一種解決方式,還可以用[2,√m]作為除數!素數和我們數學上的質數是乙個概念!
c語言問題 如圖
5樓:網友
由於迴圈條件導致pb不斷減,所以迴圈結束前b2=pb=b1, 然後pb再減 迴圈停止。
6樓:金色潛鳥
*pb=b1+3; pb指向 d, 所以 pb 是 「defg」
b1[0] 是 'a', b1指向 a
pb, pb 依次 指向 c..,b...a...直到 指向a...
strcpy(b2,pb); 依次為:cdefg,bcdefg,abcdefg 最終保留 "abcdefg"
輸出字串 "abcdefg" 長度為 7。 故選 d。
程式這樣來理解:
char b1[8]="abcdefg",b2[8],*pb=b1+3;
while(--pb>=b1) //依次變化直到 「abcdefg」
printf("%d",strlen(b2));//abcdefg長度為 7
C語言問題,C語言問題C語言問題
選a首先,空格也是一種字元,b d選項分別把空格賦給了c1,c1 其次,c選項不完整,排除 不僅a這樣,10a20b也是可以的。 聽不清啊 答案a 10a 20b cr 是正確的。因為scanf d c 時,會忽略數字前面的空格,遇到非數字字元就會結束讀取 非數字字元會留待下一次讀取,即被後面的 c...
小學數學問題,小學數學問題
俺是先知 4,5,6,7 420 因為個位數是0,可以被4,6,7整除,所以這堆瓷碗至少有420個。50 50 50 150 50 150 2 300 1050000000cm 1050000000cm 105000m 先求一個木框的表面積,再乘300。6m 如果是整數的話 因為54與48的最大公約...
關於數學問題,關於數學問題
1 99 100 2 98 100 3 97 100 50 50 100 一共50組 50 100 5000 sn 1 n n 2 s99 1 99 99 2 4950 sn 1 n n 2 s99 1 99 99 2 4950 是這個演算法 樓上的那樣算也可以 不過她算錯了 從1 99只有一個50...