tmp = 0;
for (j = 1; j <= r; j++) for (k = j; k <= r; k++) if (i + i == ④ ) { tmp = 1; break; } if (tmp == 1) ans++; }
printf("%d\n", ans); return 0; }
若输入n为2010,则输出 ⑤ 时表示验证成功,即大于2且不超过2010的偶数都满足哥德巴赫猜想。
2.(过河问题)在一个月黑风高的夜晚,有一群人在河的右岸,想通过唯一的一根独木桥走到河的左岸。在这伸手不见五指的黑夜里,过桥时必须借助灯光来照明,不幸的是,他们只有一盏灯。另外,独木桥上最多承受两个人同时经过,否则将会坍塌。每个人单独过桥都需要一定的时间,不同的人需要的时间可能不同。两个人一起过桥时,由于只有一盏灯,所以需要的时间是较慢的那个人单独过桥时所花的时间。现输入n(2≤n<100)和这n个人单独过桥时需要的时间,请计算总共最少需要多少时间,他们才能全部到达河的左岸。
例如,有3个人甲、乙、丙,他们单独过桥的时间分别为1、2、4,则总共最少需要的时间为7。具体方法是:甲、乙一起过桥到河的左岸,甲单独回到河的右岸将灯带回,然后甲、丙再一起过桥到河的左岸,总时间为2+1+4=7。
#include <stdio.h> #define SIZE 100 #define INFINITY 10000 #define LEFT 1 #define RIGHT 0
#define LEFT_TO_RIGHT 1 #define RIGHT_TO_LEFT 0
int n, time[SIZE], pos[SIZE];
int max(int a, int b)

