加法变乘法--蓝桥杯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; }
等风起的那一天,我已准备好一切