昨天太忙,沒有時間做乙個題,先記著,明天來補。
問題描述很簡單,就是求n之內的所有質數並且列印出來。
思路:求質數有很多方法,我這裡用一種比較高效的方法。我一步一步地說明方法。
1.比如判斷乙個數num是否為質數,那麼就用num去對"i(i從2開始)直到根號num"取模,如果都不能整除就說明num是質數。
2.但是這樣會有很多次多餘的計算。從1到n,有很多數是可以直接被2,3整除了,那麼,就需要去除掉能被2,3整除的數。在6個數里,6n+1,6n+2,6n+3,6n+4,6n+5,6n+6中,只有6n+1,6n+5需要被測試。
3.進一步地,將取模的範圍縮小為"從1到根號num"範圍內的質數。
**如下:
1 #include 2 #include 34#define max 10000
5#define yes 1
6#define no 078
//prototype
9int judge(int
judge_num);
1011
int prime[max]=;
12int n=100;13
int count=3;14
15int
main()
1628
for(index=0;index)
29 printf("
%d "
,prime[index]);
30 printf("\n"
);31}32
33int judge(int
judge_num)
3441
return
yes;
42 }
2023年4月1 2日學習記錄
一 設計模式 1,享元模式 享元模式 英語 flyweight pattern 是一種軟體設計模式。它使用共享物件,用來盡可能減少記憶體使用量以及分享資訊給盡可能多的相似物件 它適合用於當大量物件只是重複因而導致無法令人接受的使用大量記憶體。通常物件中的部分狀態是可以分享。常見做法是把它們放在外部資...
等值數目 2023年12月26日
問題描述 已知兩個整數陣列f與g,它們的元素都已經從小到大排列好,而且兩個陣列中的元素都各不相同。例如,f中有1,3,4,7,9,而g中有3,5,7,8,10。試編寫程式算出這兩個陣列之間有多少組相同的元素。就這個例子而言,f 1 與g 0 是一組,f 3 與g 2 是一組。我的思路 關鍵點還是 元...
支配值數目 2023年12月25日
剛才做的那道題比較簡單,再做一道。問題描述 已知f與g兩個整數陣列,元素都已經從小到大排列,請寫乙個程式,算出f比g中元素大的對數。換句話說,f 0 比g中多少個元素大,f 1 比g中多少個元素大,等等,這些值的總和就是要求的答案。舉個例子,如果f中有1,3,5,7,9,而g中有2,3,4,7,8,...