【藍橋杯省賽JavaB組真題詳解】加法變乘法(2015)
阿新 • • 發佈:2021-02-14
技術標籤:藍橋杯JavaB組真題詳解演算法java動態規劃資料結構
正月初二喜氣來,祝大家新年樂開懷
題目描述
加法變乘法
我們都知道:1+2+3+ … + 49 = 1225
現在要求你把其中兩個不相鄰的加號變成乘號,使得結果為2015
比如:
1+2+3+…+10*11+12+…+27 * 28+29+…+49 = 2015
就是符合要求的答案。
請你尋找另外一個可能的答案,並把位置靠前的那個乘號左邊的數字提交(對於示例,就是提交10)。
注意:需要你提交的是一個整數,不要填寫任何多餘的內容。
解題思路
利用雙迴圈的方法
參考程式碼
public class Main {
public static void main(String[] args) {
int t=0,r=0,sum=1225;
for (int i = 1; i < 47; i++) {
t = sum - (i + i+1) + i*(i+1);//算出第一個乘號
for (int j = i+2; j < 49; j++) {
r = t - (j+j+1) + j*(j+1);//第二個乘號
if(r==2015)
System.out.println(i+","+j);
}
}
}
}
輸出結果
答案
16