【C語言】素數判定


題目:素數判定。 編寫函數,參數是一個正整數n,如果它是素數,返回1,否則返回0。

分析

質數概念:###

質數:除了1之外,只能被它本身整除的正數稱為質數

如果這個數能被其他正數整除,說明這個數有兩個或以上的因數,
開平方可以減少判斷次數
比如:6這個數除了1之外還有2,3,6三個因子,因為只需要判斷除了他本身以外的
其他因子有無即可。所以在2到根號6之間有2這個因子,所以6這個數不是質數
#include <stdio.h>
#include <math.h>

int is_prime(int n) { 
	// 如果這個數小於等於1,直接返回0 
	if(n <= 1) return 0;
	int m = (double)floor(sqrt(n) + 0.5); 
	for(int i = 2; i <= m; i++) {
		if(n % i == 0) return 0;
		return 1;
	}
} 
int main()
{
	printf("%d\n",is_prime(5));
	return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM