父親分 2520 個橘子給 6 子,經過循環分給後每人數量相同。逆向推導每子原始數量。
#define JUZI_ZONGSHU 2520
#define FENSHU 6
#define XD1_XD2 8
#define XD2_XD3 7
#define XD3_XD4 6
#define XD4_XD5 5
#define XD5_XD6 4
#define XD6_XD1 3
int main() {
int xd1,xd2,xd3,xd4,xd5,xd6;
xd1=xd2=xd3=xd4=xd5=xd6 = JUZI_ZONGSHU/FENSHU; // 最終各 420
// 老六分給老大之前
xd6 = xd6 / (XD6_XD1-1) * XD6_XD1;
xd1 -= xd6 / XD6_XD1;
// 老五分給老六之前
xd5 = xd5 / (XD5_XD6-1) * XD5_XD6;
xd6 -= xd5 / XD5_XD6;
// ... 依此類推至老大分給老二之前
xd1 = xd1 / (XD1_XD2-1) * XD1_XD2;
xd2 -= xd1 / XD1_XD2;
printf("%d %d %d %d %d %d", xd1,xd2,xd3,xd4,xd5,xd6);
}
Ctrl+C/V,避免手打拼錯。xd6→xd5、XD6_XD1→XD5_XD6、xd1→xd6 批次替換。「初學者逐字符編輯,效率低且易錯。必須養成『複製貼上、查找替換』的結構化編輯習慣。」
這不僅是打字技巧,更是對代碼結構相似性的識別與利用。