c語言的質數判斷


c語言的質數判斷1:

首先要判斷一個數是不是質數,要看它除了1和它本身以外,在區間[2,m-1]的范圍內,是否還有一個以上(包括一個)能讓它整除的數。

思路:

在區間[2,m-1]的表示方法:

     ~~~c
     if(x>=2&&x<=m-1)或者for(x=2;x<m;x++)
     ~~~

在這里我使用第二個代碼表示,除此之外還要考慮兩個特殊的數:1和2。

我們需要的效果是能否整除那就需要用到%符號(同時注意%兩邊都必須是int)

我們要做的就是在這個區間內找到這樣一個數即:

for(x=2;x<m;x++)
{
    m%x==0;
    break;
}

當這個數出現時就已經可以停止此次循環了。

接下來我們再來進行判斷這個數是否在這個區間內,如果在就說明輸入的數字除了1和自己本身外,還有一個能在區間[2,m-1]讓它整除的數所以該數不是質數,反之則說明該數是質數。

注:還可以在這些基礎上加上一些提示語和一些輸入錯誤的處理方法

結合以上思路最終得到的代碼為:

#include <stdio.h>
int main()
{
	int x,y;
	printf("請輸入一個正整數:"); 
	scanf("%d",&x);
	while(x<0) 
	{
		x=-x;
	}
	if(x==1)
	{
		printf("該數不是質數。");
	}
	if(x==2)
	{
		printf("該數是質數。");
	}
	if(x>2)
	{
		for(y=2;y<x;y++)
		{
			if(x%y==0)
			{
			   break; 
			}
		}
		if(y>=2&&y<x)
		{
			printf("該數不是質數。");
		}
		else
		{
			printf("該數是質數。");
		} 
    }
	return 0; 
}


免責聲明!

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



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