ex_2.cpp

来自「C语言验证歌德巴赫猜想」· C++ 代码 · 共 50 行

CPP
50
字号
#include<stdio.h>
#include<math.h>

bool isPrime(unsigned long int);
bool isOdd(unsigned long int);

void main(){
	unsigned long int i = 0;
	unsigned long int num = 0;

	while(1){
		printf("Please enter an even number (0 to 4,294,967,295): ");
		scanf("%d", &num);

		if(isOdd(num)){
			printf("Error! You should enter an even number! \n\n");
			continue;
		}

		for(i=2; i<num; i++){
			if(isPrime(i) && isPrime(num-i)){
				printf("%d = %d + %d \n\n", num, i, num-i);
				break;
			}
		}
	}

}

bool isOdd(unsigned long int vnum){
	if(vnum % 2 == 0)
		return false;
	return true;
}

bool isPrime(unsigned long int vnum){
	unsigned long int i=0;
	
	if(!isOdd(vnum))
		return false;

	if(vnum==1)
		return false;
	
	for(i=3; i<= sqrt(vnum); i=i+2)
		if(vnum % i == 0)
			return false;	
	
	return true;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?