关闭

哥德巴赫猜想

457人阅读 评论(0) 收藏 举报
分类:
哥德巴赫猜想:
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;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:63811次
    • 积分:1538
    • 等级:
    • 排名:千里之外
    • 原创:93篇
    • 转载:12篇
    • 译文:2篇
    • 评论:5条
    文章分类
    最新评论