1樓:匿名使用者
先找出100內所有素數,1—100所自然數之和是5050,再減去棗或物所素數之和就行了。素數個位不能是偶數,也不能是除外)剩下的把能被整除的去掉,凳液再剩下的就是100素數了再加上2、和5就是所有的素數了。你團輪自己去算好了。
2樓:匿名使用者
#include
#include //使用 memset函式。
int main()
int a[101];
int i,j;
int sum;
memset(a,0,101);/初始化a陣列全為0/迴圈找出所有的素數,/如果i是素數,則a[i]=0,否則a[i]=1,/即如果7是素數的話,那麼a[7]=0;
8不是素數,則a[8]=1;
for(i=2;i<101;i++)
如果a[i]==1的話,那表示,它本身就不素數。
那麼它是可拆分的,所以,它的倍數的話肯定。
會是可拆分後更小州唯源元素的倍數,/所以,根本不再進行內迴圈去找它的倍數了。
這樣可大大減少內迴圈次數,這一步很重要,/可以提高非常大的效率。
if(a[i])
continue;
for(j=i;j*i<101;j++)
比如當i=2時,那麼2的倍數就一定不是素數。
所以,我們就可表示為..都不是素數。
冊態相應的數山橘組的a[4]、a[6]、a[8]都等於1/當i=2時,內迴圈最多迴圈101/2=50次,/所以當i增加時內迴圈的次數將會更少。
a[j*i]=1;
輸出所有素數並計算和。
sum=0;
for(i=2;i<101;i++)
if(!a[i])
printf("%d ",i);
sum+=i;
printf("1-100中素數的和為:%d",sum);
return 0;
輸出結果:2 3 5 7 11 13 17 19 231-100中素數的和為:100
3樓:匿名使用者
樓上的一看就是貼上的,lz問非素數之和,你卻把素數和打出來,打鍵鬧螞出來也就算了,還搞錯,100內的素數有25個,你怎麼就稿埋這幾個。。。一看就知道沒經過思考。 #include
main ()
int k,i,tag;
int sum=0;
for(i=2;i<=100;i++)
tag=0;
for(k=2;kif(i%k==0)
tag=1;
if(tag==1)
printf("彎亮%2d",i);
sum+=i; }
printf("%d",sum);
4樓:匿名使用者
呵呵 二樓的說得對 但程式有點小錯把二樓的**中的tag=1,放到上面if語句裡面就對了。
「1」是不是素數呢?
5樓:阿鑫聊生活
不是素數。因為整數有乙個性質,就是分解質因數的唯一性,及把乙個大於1的整數分解質因數,它的形式是唯一的。而如果1是素數,則分解的形式就唯一的了,因為可以乘若干個1。
所以規定1不是素數。
素數又叫質數,質數是指在大於1的自然數中,除了1和它本身以外,不能被其他自然數整除的數。例如:3只能被1和3整除,除此之外不能再被其他數字整除,那麼3就是質數。
最小的質數是2,它也是唯一的偶數質數,最前面的質數依次排列為等。
6樓:李仲堅
根據整數的整除性去分類。那麼任何乙個正整數都根據整除性被分類。如果認為數1不是素數,那麼應當是合數。
顯然數1不是合數那麼應該是素數。再說了,素數合數的分類不是依據因數的分解來判斷,而是整除性來分類。
100以內所有素數之和是多少?
7樓:玄雨螺
2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97=1060,答:100以內所有素數之和是1060.
1是素數嘛
8樓:清心止念
1不是素數。
最小的素數是2,而最大的素數並不存在。質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能被別的自然數整除的數叫做質數;否則稱為合數。
質數的個數是無窮的。歐幾里得的《幾何原本》中有乙個經典的證明。
在數字1至6間,數字與5為素數與6則不是素數。2是素數,因為只有1與2可整除該數。接下來,3亦為素數,因為1與3可整除3,3除以2會餘1。
因此,3為譽孫素數。不過,4是合數,因為2是另乙個(除1與4外)可整除4的數。
素數對於數論與一般數學的重要性來自慶橡鏈於「算術基本定理」。該定理指出,每個大於1的整數均可寫成乙個以上的素數如禪之乘積,且除了質約數的排序不同外是唯一的。素數可被認為是自然數的「基本建材」。
素數的歷史:
在古埃及人的倖存紀錄中,有跡象顯示他們對素數已有部分認識:例如,在萊因德數學紙草書中的古埃及分數時,對素數與對合數有著完全不同的型別。不過,對素數有過具體研究的最早倖存紀錄來自古希臘。
西元前300年左右的《幾何原本》包含與素數有關的重要定理,如有無限多個素數,以及算術基本定理。歐幾里得亦展示如何從梅森素數建構出完全數。埃拉託斯特尼提出的埃拉託斯特尼篩法是用來計算素數的乙個簡單方法,雖然今天使用電腦發現的大素數無法使用這個方法找出。
希臘之後,到17世紀之前,素數的研究少有進展。皮埃爾德費馬敘述了費馬小定理(之後才被萊布尼茨與尤拉證明)。費馬亦推測,所有具22n+1形式的數均為素數(稱之為費馬數),並驗證至n=4(即216+1)不過,後來由尤拉發現,下乙個費馬數232+1即為合數。
1是素數嗎
9樓:老韓教育大咖
1不是素數。
素書即是質數。質數的定義:乙個大於1的自然數,除了1和它本身外沒有其它的約數。
換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。1既非素數也非合數。
1不是素數。
素數又叫做質素,指的是大於1且不能被1和自身以外的任何其他數整除的數字,如果乙個數字可以被其他數字整除,那它就不是素數,稱為合數。所以素數必須要是大於1的整數,因此0和1不被視為素數,任何小於0的數字也不是素數,數字2是第乙個素數,因為它只能被它自己和數字1整除。
在處理素數的時候,你應該知道因數和倍數之間的區別,這兩個數學術語很容易混淆,因數是可以平均劃分為給定數字的數字,而倍數是該數字與另乙個數字相乘的結果。因數的例子:比如整數10除以整數5得到的結果2(2≠0)也是整數,而且沒有餘數,那麼我們就說5是10的因數,注意:
0不是0的因數。
倍數的例子:整數10是5和2相乘的結果,所以10是5的倍數,也是2的倍數。數字較小的素數是很容易判斷的,但是對於較大的數字,我們就需要用其他的方法來快速找到素數了。
c語言用for語句計算1到100之和,求解
for i 100 i 把這句最後面的分號去掉,這是只乙個分號的語句是空語句 for i 100 i 這個後面不制要加分號啊 改為 include int main printf d n x return 0 迴圈中,你沒有規定i的初值,應該是 for i 1 i 100 i 你是學c語言的吧,建議...
質數1到100有什麼數,1到100的質數有那些
1到100的質數 2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97。請採納謝謝你!質數 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 7...
1到100的所有因數
11 1 2 1,3 1,3 4 1,2,4 5 1,5 6 1,2,3,6 7 1,7 8 1,2,4,8 9 1,3,9 10 1,2,5,10 11 1,11 12 1,2,3,4,6,12 13 1,13 14 1,2,7,14 15 1,3,5,15 16 1,2,4,8,16 17 1,...