2015年第六届蓝桥杯C/C++程序设计本科B组省赛题目汇总:
http://blog.csdn.net/u014552756/article/details/50573834
加法变乘法
我们都知道:1+2+3+... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 =2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
思路:用1225和2015分别减去两个位置的数后比较是否相等。
答案:16
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 49; i++)
{
for (int j = i + 2; j <= 49; j++)
{
int t1=1225-i-(i+1)-j-(j+1);
int t2=2015 - i*(i+1) - j*(j+1);
if (t1==t2)
cout<<i<<endl;
}
}
return 0;
}