本文主要是介绍2015年第六届蓝桥杯C/C++程序设计本科B组省赛题目---加法变乘法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
加法变乘法
我们都知道:1+2+3+… + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+…+1011+12+…+2728+29+…+49 =2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
code:
#include<bits/stdc++.h>
using namespace std;int main(){int a[50];for(int i=0;i<=49;i++){a[i]=i;}int sum1=(1+49)/2*49;for(int i=1;i<=49;i++){for(int j=i+2;j<=49;j++){int num1=a[i]*a[i+1];int num2=a[j]*a[j+1];int sum2=sum1-a[i]-a[j]-a[i+1]-a[j+1]+num1+num2;if(sum2==2015&&i!=10){printf("%d",i);return 0;}}}return 0;
}
ans:16
这篇关于2015年第六届蓝桥杯C/C++程序设计本科B组省赛题目---加法变乘法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!