C語言 求素數 排序演算法

2021-08-01 23:08:21 字數 956 閱讀 6708

一、素數

1.從2到n-1之間依次檢查是否有n的因數

題目:判斷乙個數是否是素數

bool isprimer(int n)

}return

true;

}int main()

else

return

0;}

2.篩選法求1到n之間的素數(使用陣列標記)

題目:用篩選法求100之內的素數

# define n 100

void isprimer(int

*arr)}}

}int main()

}return

0;}

二、排序演算法

1.冒泡法排序

冒泡法是相鄰的兩個數兩兩比較,每趟迴圈都將最大的數字沉下去(即放在最後)。

題目:對10個整數進行排序

#define n 10

void sort(int *arr,int n)}}

}int main()

; sort(arr,n);

for(int i=0;i"%d ",arr[i]);

}return

0;}

2.選擇法

選擇法是用k標記最值,將最值逐一與其他數字比較

題目:用選擇法對10個整數排序

#define n 10

void seletesort(int *arr,int n)

}if(mink != i)//若最小值下標不是i,則交換其內容,將最小值放於首位

}}int main()

; seletesort(arr,n);

for(int i=0;i"%d ",arr[i]);

}return

0;}

C語言求素數的簡化演算法

函式的呼叫 結構化思想 演算法優化 演算法解釋 1.除了2以外所有2的倍數都不是素數 2.如果num能被2 num 1之間任意乙個整數整除,它的兩個因子一定有乙個小於等於根號num,另乙個大於等於根號num,所以當根號num之前沒有找到因數,在它之後也不會有因數 include include in...

C語言判斷素數(求素數)

素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2 16 的任一整數整除。思路1 因此判斷乙個整數m是否是素數,只需把 m 被 2 m 1 之間的每乙個整數去除,如果都不能被整除,那麼 m 就是乙個素數。思路2 判斷方法還可以簡化。m 不必被...

演算法 求素數

求101到200之間的素數並計算其總數 演算法分析 判斷素數的方法 用乙個數分別去除2到sqrt 這個數 如果能被整除,則表明此數不是素數,反之是素數。1.利用判斷素數的方法我們可以用每個數去除以2到sqrt 該數 但是再用迴圈遍歷的過程中會存在乙個很嚴重的問題。那就是101到200之間非素數也會有...