何找到給定間隔的總和? 例如1到10或11到30的總和?找到給定間隔的總和?
回答
快速而骯髒!
int sum = 0;
int start = 1;
int end = 10
for(i=start; i<=end; i++){
sum += i;
}
注意:本示例假定圖10是包括在範圍內,如[1,10]和不[1,10)
如果這確實是OP想要做的事,那就太過分了。可以在O(1)中完成。 – amit
真的,因此,快速和骯髒(沒有太多的想法)@謝里夫的答案是更深思熟慮! – gotomanners
這並不快。它需要6行代碼。 @AlexR解決方案是一般化的,O(1)並且最容易編程。 – amit
int start = 1;
int end = 10;
int sum = 0;
for (i = start; i <= end; i++) {
sum+=i;
}
System.out.println("Sum is" + sum);
另一途徑:
while(end > start) {
sum+=start++;
}
System.out.println("Sum is" + sum);
如果您想查找從1到N的數字總和
int summation = (N*N + N)/2;
職能是:
//computes summation from 1 to N
public int summation(int N){
return (N*N+N)/2;
}
我們從k和n發現的總和,我們簡單地積雪summation(N)
- summation(K)
public int summation(int K, int N){
return summation(N)-summation(K);
}
+1,因爲沒有提供完整的答案。這提供瞭解決方案的一部分,同時仍然強迫他們_想_。 –
這個解決方案在OP的編輯後沒用。他想k到n,而不是1到N. – amit
真的嗎?我認爲k到n是求和(n) - 求和(k)?你怎麼看? –
一般來說是N * (first + last)/2
+1的一般答案。 關於以下內容的全部細節和解釋:http://en.wikipedia.org/wiki/Arithmetic_progression#Sum – amit
這似乎是一個家庭作業,我認爲你是如此初學Java。然後我就可以幫你與這些提示:
- 你可以使用一個for循環將從第一個數字遍歷到最後
- 你可能有總和變量,應在每次迭代增加for循環
- 每個Java程序都應該至少有一個類。在其中一個(和只有一個)應該有一個主要功能
- 1. 給定一個區間,找到所有的間隔在間隔
- 2. 總結到一定的時間間隔
- 3. 總和時間與特定分隔符
- 4. 查找給定數字的總和
- 5. 查找總計數最高的間隔?
- 6. 找到總和到給定值的最小素數
- 7. 查找給定的時間間隔以2列矩陣
- 8. 查找給定的一組整數的總和達到給定總和的所有組合
- 9. sqlite查詢找到給定日期的一年的總和
- 10. 找到K個元素的子給定的總和
- 11. 如何在給定的日期範圍內找到給定的連續期間內的最大總和。
- 12. Cronjob在給定的時間間隔
- 13. 查找所有達到給定總和的數字組合
- 14. 找到一個給定總和的三元組
- 15. 將時間間隔添加到給定的時間字符串
- 16. 鑄造和總結時間間隔值
- 17. python時間間隔算法總和
- 18. 如何查找所有重疊間隔的總和權重?
- 19. 給定開始/結束時間陣列找到總空閒時間的算法
- 20. 使用SPARQL在給定範圍(間隔)內彙總值?
- 21. 給定一組間隔,找出有多少個間隔包含一個點
- 22. 總和間隔的可變量一起
- 23. 找到兩個元素,所以總和等於給定值
- 24. 找到不同的時間間隔
- 25. 如何查找落在給定間隔內的數組元素?
- 26. 給定的開始時間和分鐘的間隔,確定當前是否是時間間隔
- 27. 查找間隔給予元組
- 28. 找到給定值間隔的每個點的最小值(請參閱正文)
- 29. 找到總計達到給定值的值的索引R
- 30. 總和直到給定數量
你是指整數的總和?聽起來像一個家庭作業,你到目前爲止嘗試過什麼。 –
這篇維基百科文章提供了你需要的公式:http://en.wikipedia.org/wiki/Summation –
答案涉及到你可以在腦海中做的簡單數學。爲什麼你需要一個這樣的程序? –