藍橋杯填空題 加法變乘法

2021-07-14 11:44:14 字數 846 閱讀 6067

加法變乘法

我們都知道: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 注意 ...