加号改乘号 (穷举法)

2024-09-01 19:58
文章标签 穷举法 加号 改乘

本文主要是介绍加号改乘号 (穷举法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目大意 

把1+2+3+…+48+49中的两个加号改成乘号(修改位置不能相邻),

使得式子的结果由1225变为2015。

比如: 1+2+3+...+10*11+12+...+27*28+29+...+49 = 2015 就是符合要求的答案。 

请你寻找另外一个可能的答案, 并把位置靠前的那个乘号左边的数字提交(对于示例,就是提交10)。 

注意:需要你提交的是一个整数,不要填写任何多余的内容。


解题思路:

    此类题一般采用穷举法,进行暴力破解。

    首先,寻找题目的已知条件,("两个"加号改成乘号)

           1+2+3+…+48+49=1225  

           1+2+3+…*…+49=2015

    然后,可以根据循环链表中双指针控制前驱和后继节点的思路,用二重循环进行模拟。

    外层循环:控制第一次出现*号的位置,   

    内层循环:控制之后的所有*号出现的可能位置

    假设第一次*号在第一个+号位置,则

    1*2+3+…+48+49 =  1225 - (1+ 2)    +  1* 2  

         ==>  temp =  1225 - (i+(i+1)) +  i*(i+1)

   

#include <stdio.h>int main(void){int i,j;int temp,result ;for(i=1;i<48;i++){temp = 1225-(i+i+1)+i*(i+1);for(j=i+2;j<49;j+=2){result = temp-(j+j+1)+j*(j+1);if(result==2015){printf("%d",i);}}}return 0;}</span>

这篇关于加号改乘号 (穷举法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127901

相关文章

坑爹的URL编码-PHP正确处理URL中的加号(+)

问题背景 接收客户端传入参数,base64解码失败,经过排查发现原因是参数上传前字符串中有+,但是PHP接收后,发现+变成了空格,导致base64解码失败。 测试验证 访问一个测试的接口 /internal/test curl 'http://127.0.0.1/internal/test?a=abc+def' 验证1: 简单输出$_GET public function test(

给QTabWidget的标签栏添加一个+(加号)

今天遇到一个小问题,需要在TabWidget标签上添加+号,实现点击+ 增加tab 通过QTabWidget自带的方法 可以实现 最左侧Qt::topLeftCorner  最右侧添加 Qt::TopRightCorner QTabWidget::setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCo

动态加载TreeView时让TreeView节点前显示加号

解释下标题,我这里通过webservice获取数据并动态加载TreeView节点,那么某个节点展开前它是没有子节点的,那么它就不显示加号,这样会让用户误以为此节点不能展开。我是这样做的,每次创建节点a时,默认为它创建一个子节点b(随便给个名字就行,假设为“呵呵”),那么创建的节点a就有了子节点b,也就会显示加号了,等展开节点a时,再把刚才默认创建的子节点b移除就可以了,删除方法是先判断展开的节点a

Ajax Post数据时加号变空格的解决办法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 注意:该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。 采用Ajax传递数据时,通常会将数据整理为data=“var1=abc&var2=def”。而当数据中存在加号(+)或是连接符(&)时,服务器端

jQuery选择器 大于 空格 波浪线 加号

JQuery选择器 大于 空格 波浪线 加号的区别 元素遍历 符号说明空格$(‘parent child’)表示获取parent下的所有的child节点(所有的子孙)。大于号$(‘parent > child’)表示获取parent下的所有叫child的儿子(第一代)。加号$(‘pre + nextbrother’)表示获得pre节点的下一个兄弟节点,相当于next()方法波浪号$(‘pre

前端基础入门三大核心之JS篇:解锁「穷举法」算法的奥秘【含代码示例】

前端基础入门三大核心之JS篇:解锁「穷举法」算法的奥秘【含代码示例】 穷举法基本概念及其作用什么是穷举法?作用说明 穷举法实战演练示例1:找出1到100之间的所有质数示例2:经典的数独求解性能优化与安全考量 实际工作中的技巧遇到问题怎么办?结语与讨论 在前端开发的浩瀚宇宙里,JavaScript(简称JS)如同一颗璀璨的星辰,引领着无数开发者探索逻辑与创意的无限可能。今天,我们不妨

escape函数处理带加号字串问题

在使用Jqery做ajax操作的时候有中文老是乱码!必须的使用escape函数编码才正常,encodeURIComponent等函数都不可以,这是因为url中字符被转义,比如空格被编码成加号,于是加号成了空格。我们可以手工将加号编码成 %2B,eg: escape(str).replace(//+/g, '%2B');这样就可以了 (url转义字符原理 如果表单的action为list.js

[神坑已解决]Http请求参数中的加号被转换为空格的问题

问题场景 (着急解决的小伙伴可以直接看场景总结) String str = Base64Util.getBase64Encode(“小狗”)//调用方使用该方法加密得到值小狗的加密编码str:sdfsdf+sdf 前端传参数之前,将参数值加密为sdfsdf+sdf,传递给后端之后,后端tomcat自动将str中的加号变为空格 ->> sdfsdf sdf(🤬🤬🤬这就是后端接收到的参数值

穷举法-柏松分酒

/** * 穷举法:泊松分酒 * * @author timmy1 * */public class ShareWine { private int cup1 = 12;// 第一个杯子的容量 private int cup2 = 8;// 第二个杯子容量 private int cup3 = 5;// 第三个杯子容量 private int result = 6;// 目标酒量 // 假

Get 方法加号处理

测试组给报了一个bug,查了下才发现是用get方法转了加号的参数,fix它。   用 get 方法 , 参数里有 "+" 时,要做处理,否则到后台会变成空格   解决方案: 1 、改用 p ost 方法 ,ok 2 、在 js 里用 url = encodeURI(encodeURI(XXX)) ,后台再解码一次, ok 3 、将参数里的加号进行转换       dat