我想用break跳出俩层循环,但为啥运行不出来呀,我觉得这个思路可以呀,求解
查看原帖
我想用break跳出俩层循环,但为啥运行不出来呀,我觉得这个思路可以呀,求解
1629378
ahhhhh173楼主2025/1/15 10:16
#define N 10000
void fun(int n) {
	int a[N], b = 2, i, j;
	a[0] = 1;
	a[1] = 2;
	for (i = 3; i < n; i++) {
		for (j = 2; j < i; j++) {
			if (i % j == 0)break;
		}
		if (j == i)a[b++] = i;
	}
	for (i = 0; i < b - 1; i++) {
		for (j = 0; j < b - 1; j++) {
			if (a[i] + a[j] == n) {
				printf("%d=%d+%d\n", n, a[i], a[j]);
				break;
			}
		}
		if (a[i] + a[j] == n)break;
	}
}
int main() {
	int n;
	scanf("%d", &n);
	for (int i = 4; i <= n; i += 2) {
		fun(i);
	}
	return 0;
}
2025/1/15 10:16
加载中...