加法变乘法--蓝桥杯2015

加法变乘法 我们都知道:1+2+3+ ... + 49 = 1225 现在要求你把其中两个不相邻的加号变成乘号,使得结果为 2015 比如: 1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。 请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例, 就是提交 10)。 注意:需要你提交的是一个整数,不要填写任何多余的内容。

 

答案:16

   

#include<iostream>
using namespace std;
int main()
{
  int a[50],num=0;
  for(int i=1;i<=49;i++)
  {
    a[i]=i;
    num=num+i;
  }
  for(int i=1;i<=49;i++)
  {
    for(int j=i+1;j<=49;j++)
    {      
        int temp1,temp2;
        temp1=a[i]*a[i+1]+a[j]*a[j+1];//只能把两个加号变成两个乘号,并且两个相乘不能连续,
        temp2=num-a[i]-a[i+1]-a[j]-a[j+1];
        if(temp1+temp2==2015)
        {
          cout<<a[i]<<endl;
          break;
        }     
    }
  }
  return 0;
}

 

posted @ 2019-03-06 20:44  知道了呀~  阅读(506)  评论(0编辑  收藏  举报