哥德巴赫猜想

原创 2013年12月02日 18:56:11
哥德巴赫猜想:
2000以内的正偶数都能够分解为两个素数之和。
#include<stdio.h>
#include<math.h>
int main() {
	int i,n;
	FILE *fp;
	fp = fopen("GDBHCX.txt", "w");
	if (fp == NULL) {
		printf("Cannot write into the file.\n");
		getch();
		return 0;
	}
	for (i = 2; i <= 2000; i+=2) {
		for (n = 1; n < i; n++) {
			if (is_prime(n)) {
				if (is_prime(i-n)) {
					fprintf(fp, "%5d=%d+%d\n", i, n, i-n);
					break;
				}
			}
		if (n == i)
			fprintf(fp, "error %d\n", i);
		}
	}
	return 0;
}
int is_prime(int i) {
	int j;
	if (i < 1) 
		return 0;
	else if (i == 1 || i == 2)
		return 1;
	else if (!(i%2))
		return 0;
	else
		for (j = 3; j <= (int)sqrt((double)i) + 1; j+=2)
			if (!(i%j))
				return 0;
	return 1;
}


内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:哥德巴赫猜想
举报原因:
原因补充:

(最多只允许输入30个字)