蓝桥杯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的边界扣好。

发布了14 篇原创文章 · 获赞 1 · 访问量 320

猜你喜欢

转载自blog.csdn.net/qq_45797026/article/details/104763726