注意:需要你提交的是一个整数,不要填写任何多余的内容。
思路:
列举两个乘号所在位置,求乘号两边数的积,再求所有数的和
代码:
#include<iostream> #include<algorithm> using namespace std; int main() { int i,j,k=0,sum=0,cnt=0,t1[3],t2[3],a[50]; for (i=1; i<=49; i++) { a[i] = i; } for (i=1; i<=46; i++)//第一个乘号位置 { t1[0] =a[i] * a[i+1]; //保存两数之积 t1[1] = a[i]; //保存前后两个数 t1[2] = a[i+1]; for (j=i+2; j<=48; j++)//第二个乘号位置 { t2[0] = a[j] * a[j+1]; t2[1] = a[j]; t2[2] = a[j+1]; sum = 0; sum+=t1[0]+t2[0]; for (k=1; k<=49; k++) { if (a[k]!=t1[1] && a[k]!=t1[2] && a[k]!=t2[1] && a[k]!=t2[2]) { sum += a[k]; } } if(sum == 2015) { cnt++; cout<<t1[1]<<endl; } } } return 0; }
