蓝桥杯真题15省6-加法变乘法我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015比如: 1+2+3+...+10*11+

    科技2022-08-30  150

    问题描述

    我们都知道:1+2+3+ … + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015

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

    请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。

    注意:需要你输出的是一个整数,不要输出任何多余的内容。 输入

    没有输入。 输出

    输出一个整数。 题目限制

    1s, 1024KiB for each test case. 提示

    用printf或cout输出答案。

    思路:

    本题就是将1到49存到数组中,然后用一个双重循环来遍历找出2个乘号的位置,再挨个验证是否符合题意即可。

    代码:

    #include <stdio.h> #define N 50 int main() { int x,y,last,a[N]; for(x=0;x<50;x++) { a[x]=(x+1); } for(x=1;x<=47;x++) { for(y=x+2;y<=49;y++) { int change1=a[x-1]+a[x]+a[y-1]+a[y]; int change2=a[x-1]*a[x]+a[y-1]*a[y]; last=1225-change1+change2; if(last==2015 && x!=10) printf("%d",a[x-1]); } } return 0; }

    答案:16

    Processed: 0.017, SQL: 9