原代碼 aa = a * 10 + a 僅產生兩位數,無法產生 222、2222 等多位數。
int aa = 0;
int sum = 0;
for (int j = 0; j < i; j++) {
aa = aa * 10 + a; // 逐位擴展: 2 → 22 → 222 → 2222
sum += aa;
}
System.out.println("Sum=" + sum);
| j | aa (當前項) | sum (累加和) |
|---|---|---|
| 0 | 2 | 2 |
| 1 | 22 | 24 |
| 2 | 222 | 246 |
| 3 | 2222 | 2468 |
| 4 | 22222 | 24690 |
aa 需在迴圈外初始化為 0,每輪 aa = aa * 10 + a 實現位數增長。sum 累加每輪的 aa。j < i (共 i 項),非 j <= i。