藍橋杯2015年c/c++|B組06(加法變乘法)

加法變乘法

我們都知道:1+2+3+ … + 49 = 1225
現在要求你把其中兩個不相鄰的加號變成乘號,使得結果爲2015

比如:
1+2+3+…+1011+12+…+2728+29+…+49 = 2015
就是符合要求的答案。

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

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

c/c++代碼

#include <iostream>
using namespace std;
int main(){
    int tmp=0;
    int res;
    int i,j;
    for(i=1;i<47;i++){
        tmp=1225-(i+i+1)+i*(i+1);
        for(j=i+2;j<49;j++){
            res=tmp-(j+j+1)+j*(j+1);
            if(res==2015&&i!=10){
                cout<<i<<endl;
            }
        }
    }
    return 0;
}

本題代碼和思路都很簡單,但要想到入手點就是這裏兩個乘號左邊的數i和j,遍歷的時候把i和j的邊界扣好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章