閒聊藍橋杯JAVA 加法變乘法

2021-08-17 08:47:29 字數 1001 閱讀 1983

d:加法變乘法

加法變乘法

我們都知道:1+2+3+ ... + 49 = 1225

現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015

比如:1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015

就是符合要求的答案。

請你尋找另外乙個可能的答案,並把位置靠前的那個乘號左邊的數字提交(對於示例,就是提交10)。

注意:需要你提交的是乙個整數,不要填寫任何多餘的內容。

m:這道題主要考的是什麼呢?

z:我之前做過這道題,介紹一下我的方法。

public

static

void

main(string args)

}

}

m:馬上就得出結果10 & 16,for (int i = 1; i < 49; i++) {的49是**來的呢?

z:乘號左邊的數,也就兩個,所以我們假設它是i & j 。可能的情況各自為49種。所以用雙層迴圈將兩種情況都遍歷出來。

m:那if((1225-i*2-j*2-2)+i*(i+1)+j*(j+1)==2015)是怎麼驗證這兩種情況是符合的呢?

z:這是1+2+3+ ... + 49 = 1225的變種,改變兩個數讓它的結果變成2015。

也就是說,減去原來兩個數。原來兩個數,為i + (i+1) + j + (j+1)

而新增的兩個數為他們的乘法i * (i+1)+ j * (j+1)

所以式子就變成了(1225-i*2-j*2-2)+i*(i+1)+j*(j+1)==2015

m:總結一下,這道題的做法就是利用它改變的值是可以窮舉的,通過 窮舉 + 式子變形 的方式,算出i,j的值。

d:這題差的就是思路!!!

藍橋杯加法變乘法

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

藍橋杯 加法變乘法

加法變乘法 我們都知道 1 2 3 49 1225 現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015 比如 1 2 3 10 11 12 27 28 29 49 2015 就是符合要求的答案。請你尋找另外乙個可能的答案,並把位置靠前的那個乘號左邊的數字提交 對於示例,就是提交10 注意 ...