蓝桥杯B六-----加变乘
2016-03-16 11:10
162 查看
加法变乘法:
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
简洁版的:先算出总和,然后再根据加变乘的情况加上和减去相应的数.
找到了两种解法,一种复杂一种简单.体会到了算法对程序的重要性.
第一种: 将这一串加数分类然后逐个去算最后求和
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
简洁版的:先算出总和,然后再根据加变乘的情况加上和减去相应的数.
找到了两种解法,一种复杂一种简单.体会到了算法对程序的重要性.
#include <stdio.h> int main() { int sum = 1225, tmp=0, res=0; for(int i=2; i<=47; ++i) { sum = 1225; tmp = res = sum-i-(i-1)+i*(i-1); // printf("%d * %d +", i-1, i); for(int z=i+2; z<=49; ++z) { res = tmp-z-(z-1)+z*(z-1); // printf("%d * %d ", z-1, z); // printf("= %d \n\n", res); if(res == 2015){ printf("true!!i is %d \n", i-1); printf("true!!z is %d \n", z-1); } } } return 0; }
第一种: 将这一串加数分类然后逐个去算最后求和
#include <iostream> using namespace std; int main() { int i=0,j=0; int sum1=0,sum2=0,sum3=0; int pro1,pro2; for(i=1;i<=46;i++)//此处i的最大值应为46,但是到到48也没错误 { if(i==1) sum1=0; if(i==2) sum1=1; if(i!=1 && i!=2) sum1=i*(i-1)/2;//sum1 = (1+i-1)*(i-1-1+1)/2; pro1 = i*(i+1); for(j=i+2;j<=48;j++)//因为是两个不相邻的+号改为*号,所以j最近也要从i+2算起 { if(j-i<=2) { sum2=0; pro2=j*(j+1); sum3=(j+51)*(48-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2; } else if(j-i==3) { sum2=j-1; pro2=j*(j+1); sum3=(j+51)*(49-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2; } else { sum2=(i+j+1)*(j-i-2)/2;//sum2=(i+2+j-1)*(j-1-i-2+1)/2; pro2=j*(j+1); sum3=(j+51)*(48-j)/2;//sum3=(j+2+49)*(49-j-2+1)/2; } if(sum1 + pro1 + sum2 + pro2 + sum3 == 2015) cout<<i << " "<<j<<endl; } } return 0; }
相关文章推荐
- DL:CNN-ImageNet Classification with Deep Convolution Neural Networks
- MySql
- SQL里的EXISTS与in、not exists与not in(转载)
- svn 客户端安装
- Couchbase 中的分布式储存
- 新浪微博中遇到的网络问题
- 软件测试作业(二)
- AspCms标签手册
- BZOJ 1022 [SHOI2008]小约翰的游戏John
- 转载的一篇存储图片等信息的还不错的文章
- 电商系统中收藏夹水平切分
- CSS之可折叠导航
- 工厂模式
- Bootstrap 下拉框 按钮组、工具栏
- PHP5.5迭代生成器用法实例详解
- 关于腾讯微博分享的那些事
- HTML5进阶(三)HBuilder实现软件自动升级(优化篇)
- CSS之可折叠导航
- Smobiler基于.NET框架开发移动应用内部系统(开发日志二)
- 1806: [Ioi2007]Miners 矿工配餐 DP