給定—個正整數,編寫程序計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於1000。

給定—個正整數,編寫程序計算有多少對質數的和等於輸入的這個正整數,並輸出結果。輸入值小於1000。如,輸入爲10,程序應該輸出結果爲2。(共有兩對質數的和爲10分別爲(5,5)(3,7))

輸入描述:輸入包括一個整數n,(3≤n<1000)

輸出描述:輸出對數

輸入例子:10

輸出例子:2

主要思路,:將 key - 減數 = 差,從1到key的1 / 2值時, 判斷減數和差是否是質數, 是則對數加一。

#include<stdio.h>

bool fun(int i)
{
		for (int j = 2; j < i; j++)
		{
			if (i % j == 0)	return false;
		}
		return true;
}

int main()
{
	int m, k = 0;

	printf("請輸入一個取值爲0到1000的正整數\n");

	scanf_s("%d", &m);

	for (int i = 1; i <= m / 2; i++)
	{
		if (fun(i) && fun(m - i) )
			k = k + 1;	
	}
	printf("%d\n", k);

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章