加法變乘法
我們都知道:1+2+3+ … + 49 = 1225
現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015
比如: 1+2+3+…+10*11+12+…+27*28+29+…+49 = 2015 就是符合要求的答案。
請你尋找另外乙個可能的答案,並把位置靠前的那個乘號左邊的數字提交(對於示例,就是提交10)。
思路:
1+2+3+…+49 = (1+49)*49/2 = 1225
假設在num = i 和 num = j 時是進行乘法運算的,則有1+2+3+…+i * (i + 1)+…+j * (j + 1)+… +49 = 2015
將上式進行拆分:1+2+3+…+i + (i + 1)+…+j + (j + 1)+… +49 = 1225,本來應該加上i * (i + 1),現在只加了 i + (i + 1),還剩下
i * (i + 1) - i + (i + 1) = i * (i + 1) - (2*i + 1) 沒有加上去,同理,還有剩下沒加的是 j * (j + 1) - (2*j + 1)
因此,1+2+3+…+i + (i + 1)+…+j + (j + 1)+… +49 + i * (i + 1) - (2*i + 1) + j * (j + 1) - (2*j + 1) = 2015
即 1225 + i * (i + 1) - (2*i + 1) + j * (j + 1) - (2*j + 1) = 2015
int main()
} return
0;
}
藍橋杯填空題(一)
以下 可以從陣列a中找出第k小的元素。它使用了類似快速排序中的分治演算法,期望時間複雜度是o n 的。請仔細閱讀分析原始碼,填寫劃線部分缺失的內容。include int quick select int a,int l,int r,int k int i l,j r while i j while...
藍橋杯加法變乘法
題目 我們都知道 1 2 3 49 1225 現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015 比如 1 2 3 10 11 12 27 28 29 49 2015 就是符合要求的答案。請你尋找另外乙個可能的答案,並把位置靠前的那個乘號左邊的數字提交 對於示例,就是提交10 注意 需要你...
藍橋杯 加法變乘法
加法變乘法 我們都知道 1 2 3 49 1225 現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015 比如 1 2 3 10 11 12 27 28 29 49 2015 就是符合要求的答案。請你尋找另外乙個可能的答案,並把位置靠前的那個乘號左邊的數字提交 對於示例,就是提交10 注意 ...