首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java 計算 1-100 間 7 的倍數之和:變量更新遺漏導致結果錯誤

     編輯:程式設計疑難解答

錯誤代碼

int a = 1, b = a * 7, c = 0;
while (a <= 100 && b <= 100) {
    c += b;
    a++;
    // 缺少 b = a * 7; 導致 b 永遠是 7
}
System.out.println(c); // 輸出錯誤

修正

while (a <= 100 && b <= 100) {
    c += b;
    a++;
    b = a * 7; // 同步更新 b
}

簡化寫法

int sum = 0;
for (int i = 7; i <= 100; i += 7) sum += i;
System.out.println(sum); // 735

數學公式

等差數列求和:n = 100/7 = 14,sum = n*(first+last)/2 = 14*(7+98)/2 = 735。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved