蓝桥杯 — 加法变乘法(把其中两个不相邻的加号变成乘号)
2016-02-29 19:50
225 查看
题目要求如下:
加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,
并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
思路:
1. 说思路其实也没什么思路,按照正常的解法一步一步的写出程序来就OK了。
2. 将1+2+3+ ... + 49其中的两个“+”变成“*”,用双重循环来遍历所有可能出现的结果。
3. 外层循环的变量i代表前一个“*”,内层循环中的j代表后一个“*”,依次遍历。
4. 用变量tmp来保存将程序中的前一个“+”改变成“*”过后的结果。代码为tmp = res = sum-(i+(i-1))+i*(i-1) ,读者需要仔细理解这句代码。
5. 用变量res来保存将程序中的后一个“+”改变成“*”过后的结果。代码为res = tmp-(j+(j-1))+j*(j-1) 。
6. 然后变量res判断的值是否为2015。如果是,则输出i和对于j的值。(题目中只要求求出前一个“*”所在的位置,即i的值)。
源代码如下:
运行结果如下:
![](http://img.blog.csdn.net/20160229194742859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
注:本程序在devc++中通过编译运行。
加法变乘法
我们都知道:1+2+3+ ... + 49 = 1225
现在要求你把其中两个不相邻的加号变成乘号,使得结果为2015
比如:
1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015
就是符合要求的答案。
请你寻找另外一个可能的答案,
并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。
注意:需要你提交的是一个整数,不要填写任何多余的内容。
思路:
1. 说思路其实也没什么思路,按照正常的解法一步一步的写出程序来就OK了。
2. 将1+2+3+ ... + 49其中的两个“+”变成“*”,用双重循环来遍历所有可能出现的结果。
3. 外层循环的变量i代表前一个“*”,内层循环中的j代表后一个“*”,依次遍历。
4. 用变量tmp来保存将程序中的前一个“+”改变成“*”过后的结果。代码为tmp = res = sum-(i+(i-1))+i*(i-1) ,读者需要仔细理解这句代码。
5. 用变量res来保存将程序中的后一个“+”改变成“*”过后的结果。代码为res = tmp-(j+(j-1))+j*(j-1) 。
6. 然后变量res判断的值是否为2015。如果是,则输出i和对于j的值。(题目中只要求求出前一个“*”所在的位置,即i的值)。
源代码如下:
#include <stdio.h> int main() { int sum = 1225; int tmp=0; //临时变量,在程序中保存中间结果 int res=0; //用来保存将“+”改变成“*”号后的结果 for(int i=2; i<=47; ++i) { tmp = res = sum-(i+(i-1))+i*(i-1); for(int j=i+2; j<=49; ++j) { res = tmp-(j+(j-1))+j*(j-1); if(res == 2015) { printf("(i= %d ,j= %d)\n", i-1,j-1); } } } }
运行结果如下:
注:本程序在devc++中通过编译运行。
相关文章推荐
- ZooKeeper原理及使用
- 块和内嵌总结,以及各个标签的应用。其中的ul ol dl特殊定义为auto,使得里面的内容展开
- 基于BOW模型的图像分类Bag Of Visual Words model for image classification
- CyanogenMode主题模块解析(上)
- iOS开发-------属性用copy、strong修饰的区别
- 算法代码实现之快速排序,C/C++实现
- 在64位Win7操作系统中安装Microsoft Access Engine的解决方案
- 个人简介
- 自我介绍及软件工程课程目标
- Tomcat启动报错,连接连接池没反应
- java中的传值和传引用深刻体会
- android UTF8 JSON乱码解决
- Eclipse调整代码字体大小
- CSS3 box-sizing属性
- Integer to Roman
- RANSAC
- Java标准输入
- GBDT 梯度下降决策树
- C#操作目录和文件
- C# 获取指定目录下所有文件信息、移动目录、拷贝目录