蓝桥杯真题 算式填符号 题解

2015第六届蓝桥杯 C/C++B组真题及题解 1. 奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(一个整数),不要写任何多余的内容或说明性文字。【分析】循环+枚举        4的出现有5种... 阅读详情

PS:此题代码是老师给的..下面是写了自己的理解和解释..

题目:
匪警请拨110,即使手机欠费也可拨通!
为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!
某批警察叔叔正在进行智力训练:
1 2 3 4 5 6 7 8 9 = 110
请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一个数,例如:12+34+56+7-8+9 就是一种合格的填法;123+4+5+67-89 是另一个可能的答案。

请你利用计算机的优势,帮助警察叔叔快速找到所有答案。
每个答案占一行。形如:
12+34+56+7-8+9
123+4+5+67-89

思路:递归;递归深度为8(8个空),每个空有3种选择:‘+’、‘-’、‘ ’,从最后一个空开始算起(从第一个空开始算不方便,自己试试就知道了…)
对本渣渣来说…此题难不是难在递归,而是难在对字符串的处理上o(╥﹏╥)o:
如果是加号或减号,建一个子串存放符号和符号后面的数字,把子串和以前已有串拼接起来再传参数递归;
如果是空(四声),把空左面和右面的数字连起来(具体连接方式是先把数字转成串(用itoa),再把这两个串拼接起来(用strcat),再把连好的串转成数字(用atoi))(这一步一开始自己写错了….( Ĭ ^ Ĭ )),然后再递归,注意要恢复原状。

Code:

#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define N 30 
int a[10] = {1,2,3,4,5,6,7,8,9};

    //a:数组 
    //k:当前要填的第几个符号位,从8开始 
    //s:已拼接好的结果串 
    //goal:算式要满足的值
void fk(int *a,int k, char *s, int goal){

    if(k == 0){
        if(a[0] == goal){
            printf("%d%s\n", a[0], s);
        }
        return ;
    }

    char *p = (char *)malloc(N * sizeof(char));
    memset(p, 0, N * sizeof(char));

    p[0] = '+';
    _itoa(a[k], p + 1, 10);
    int x = strlen(p);
    strcat(p + x, s);
    fk(a,k - 1, p, goal - a[k]);

    p[0] = '-';
    fk(a,k - 1, p, goal + a[k]);

    /* Wrong Answer 
    int old = a[k - 1];
    a[k - 1] = a[k - 1] * 10 + a[k]; 
    //上面这句话有错误,自己试一试就知道了,
    //8 * 10 + 9 = 89,7 * 10 + 89 = ???后面的式子应该*100 
    cout<<"a[k - 1] = "<<a[k - 1]<<endl;
    fk(k - 1, s, goal);
    a[k - 1] = old;
    */

    int old = a[k - 1];

    char ak[N] = {0};
    char ak2[N] = {0};
    itoa(a[k - 1],ak, 10);
    itoa(a[k], ak2, 10);
    strcat(ak, ak2);
    a[k - 1] = atoi(ak);
    fk(a,k - 1, s, goal);
    a[k - 1] = old;

}

int main(){

    fk(a,8, " ", 45);

    return 0;
}
2015年第六届C/C++ B组蓝桥杯省赛真题 2015年第六届C/C++ B组蓝桥杯省赛真题真题第一题:奖券数目第二题:星系炸弹第三题:三羊献瑞第四题:格子中输出第五题:九数组分数第六题:加法变乘法第七题:牌型种数第八题:移动距离第九题:垒骰子第十题:生命之树题解第一题:奖券数目第二题:星系炸弹第三题:三羊献瑞第四题:格子中输出第五题:九数组分数第六题:加法变乘法第七题:牌型种数第八题:移动距离第九题:垒骰子第十题:生命之树 真题 第一题:奖券数目 题目描述 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之 阅读详情

相关推荐

3D-IC测试挑战与Tessent解决方案解析

3D-IC技术通过硅通孔(TSV)实现芯片垂直堆叠,是延续摩尔定律的关键路径。该技术面临三大核心挑战:KGD标准严苛化要求测试覆盖率达99.5%以上,存储器测试需兼容LPDDR/HBM等多种协议,逻辑堆叠需解决TSV互连的电气特性和时序验证问题。Mentor Tessent平台采用混合测试架构,结合压缩扫描测试(ATPG)和内建自测试(BIST)技术,实现100x测试数据压缩比和99.97%的TSV缺陷检出率。这些创新方案在移动SoC和高性能计算芯片中已获验证,测试时间缩短73%,缺陷逃逸率降低77%。随着

weixin_30621711的博客 376

备考蓝桥杯(33)警察智力运算java实现

package pers.robert.lanqiaobeizhenti129; /** * 42.警察智力训练 匪警请拨110,即使手机欠费也可拨通! * 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 * 3 4 5 6 7 8 9 = 110; * 请看上边的算式,为了使等式成...

Robert_Ln的博客 356

倒立摆入门详解+pid调参

倒立摆制作全过程 最近在练习pid的控制算法,就选用了2013年的电子设计国赛题目:倒立摆 。 首先给你们看看我的成果 注意哦:倒立摆不是靠上面黄色的传感器保持平衡的,而是通过下面的电机左右扭动使得摆杆不掉下来,难度可不小了。 材料准备 1.机械部分 如图所示选好电机和角位移传感器进行组装就好了,这个部分是我直接网上购买的,如果要自己装也是可以的,不过会比较麻烦,结构差不多的。 2.主控部分 这个部分的话完全是我自己设计的,作用和网上买的一样,因为网上买的话太贵了,有需要的话可以联系我,有pcb文件

small_po_kid的博客 2万+

【蓝桥杯】【趣味算式】

【题目】 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 5 6 7 8 9 = 110; 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入

bear_huangzhen的专栏 1577

使用Python下载ECMWF的ERA-5数据

一、注册账号 [官网]https://www.ecmwf.int/ 二、登录后获取下载key https://cds.climate.copernicus.eu/api-how-to 如图右侧红色框中的内容复制保存为TXT文件,并重命名为“.cdsapirc”,注意前面有点,保存在 C:\Users\username\.cdsapirc,(WINDOWS系统),username指当前电脑登录账户。 三、安装cdsapi库 以pycharm为例: 在pycharm中依次打开:File>setting

wise_sun的博客 7705

Ubuntu单系统安装全攻略:从删除Windows到UEFI引导设置(避坑指南)

本文提供Ubuntu单系统安装的完整指南,涵盖从安全删除Windows系统到UEFI引导设置的详细步骤。通过专业工具准备、分区方案设计、引导加载器配置等关键环节,帮助用户避免常见安装问题,实现纯净高效的Ubuntu单系统环境。特别强调UEFI引导的深度配置与安装后的性能优化,适合希望彻底转向Linux的用户。

weixin_29210727的博客 409

第三届蓝桥杯预赛第九题——趣味算式

匪警请拨110,即使手机欠费也可拨通!     为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!     某批警察叔叔正在进行智力训练:     1 2 3 4 5 6 7 8 9 = 110;     请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)

hanhxBlog 1099

C#调用opencv的dll

opencv算法和界面配合,刚入职的时候尝试过,利用的MFC,调试起来很痛苦。 后来基本都没怎么用界面,DOS的黑窗口,opencv自带的显示界面及滑动条凑合着调试用。 最近有点时间,刚好双十一在一个视觉群里看到了一个讲C#调用opencv的dll的课程,鉴于群主也是那门课的讲师,在平时解答群员的问题的时候很细心,能力也很强,因此有了这篇文章。 根据相机不同动态调用相机默认的属性...

Learning by doing 2975

acm算法--每日一题c语言1(趣味算式)

匪警请拨110,即使手机欠费也可拨通!     为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!     某批警察叔叔正在进行智力训练:     1 2 3 4 5 6 7 8 9 = 110;     请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)。之间没有填入符号的数字组合成一

licong0716的专栏 1641

嵌入式工程师成长之路(5)——板子调试

USB2514集线器调试总结说说USB连接线USB数据线上的“疙瘩”:原来有这么大用处!

云轩阁 4万+

汇川Easy系列PLC系统PID指令编程应用(增量型)

增量式PIDS7-1200/1500增量式PID(输出归一化、支持PWM输出)_西门子1200pid算法公式-优快云博客文章浏览阅读1k次。本文介绍了S7-1200/1500 PLC中增量式PID算法的应用,包括输出归一化和PWM输出。通过详细解析,阐述了PID输出如何限制在0.0-1.0之间,并且如何将PID输出与PWM占空比关联,适用于温度等控制场景。

RXXW_Dor的博客 1424

匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!某批警察叔叔正在进行智力训练:1 2 3 4

/** * * 匪警请拨110,即使手机欠费也可拨通! 为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练! 某批警察叔叔正在进行智力训练: 1 2 3 4 5 6 7 8 9 = 110; 请看上边的算式,为了使等式成立,需要在数字间填入加号或者减号(可以不填,但不能填入其它符号)

王猛的专栏 2856

【实战篇】【硅基流动API+Cherry Studio搭建个人知识库全流程解析:从零到精通的超详细指南】

在人工智能技术高速发展的今天,基于大语言模型的知识库已成为开发者提效的必备工具。然而云端服务存在响应延迟、数据隐私、硬件依赖等痛点。通过硅基流动API与的深度整合,我们既能享受大模型的强大能力,又能实现本地化部署与高效管理。本文将从环境配置到高阶调优,手把手带你构建企业级知识库系统。

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 1082

小猫小狗玩数学-第14届蓝桥杯STEMA测评Scratch真题精选

小猫小狗玩数学,本题是2023年2月12日举行的第14届蓝桥杯STEMA考试Scratch图形化编程真题中级组编程部分第5题,也是压轴题,题目要求编写程序实现小猫出算式题,玩家输入算式结果,小狗能够判断算式结果是否正确并统计答对题目的数量。

超平的编程课 2441

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝桥杯2015-省赛-C语言大学B组-题目及题解

第一题 奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 题解 最简单的是转化成数学问题,89999,直接输出结果即可。 或者模拟一遍 #include <iostream> #include

weixin_45938281的博客 925

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝桥杯2015 C/C++组训练

蓝桥杯真题训练 (不含头文件) -----------2015 年 一: 奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是 5 位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要...

Stormjing的博客 2055

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

2015第六届蓝桥杯 C C++B组真题及题解_有些人很迷信数字,比如带4某抽奖活动奖券号码是5位数

因此,我们可通过DFS实现该过程,同时记录当前手中牌的数量cursum及最大牌号curno,且自己手中的牌按牌号递增排序(即只考虑13张牌依次增大的组合,而不需考虑其所有组合(如2 3 4三张牌,只考虑2 3 4组合而不考虑其他5种))(width-2-strlen(s))/2:(width-2-strlen(s))/2+1,” "此题的实质时不断试探交换a[i]与a[k],通过x数组的全排列得到分数"x[0]x[1]x[2]x[3] / x[4]x[5]x[6]x[7]x[8]",然后判断是否为1/3。

2401_87555412的博客 702

蓝桥杯省赛真题2015题解

1.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 答案:52488 代码实现: #include<bits/stdc++.h> using namespace std; int.

skill_Carney的博客 2833

2015年蓝桥杯省赛C++B组真题与题解

1 奖券数目 题目: 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 题解: 求10000-99999中不含数字4的数的个数,将每个数字枚举逐个排除,代码如下: #include<iostream>

nosympathy的博客 883

第16届蓝桥杯省赛总结——计划的绝对执行

河北工业职业技术大学——2025年蓝桥杯省赛战绩与总结

红目香薰 992

蓝桥杯第六届C/C++ B组真题详解

本篇博客主要写一下蓝桥杯第六届C/C++ B组真题详解

晴空๓ 1874

2015年第六届蓝桥杯省赛(C/C++)题目与解析

    最近做蓝桥杯真题,做到15年时发现百度搜索的真题和解析比较少,所以来总结一下。    1. 奖券数目有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。请提交该数字(...

我要出家当道士 1411

2018年第九届 蓝桥杯C组 C/C++决赛题解

蓝桥杯历年国赛真题汇总:Here 1.年龄问题 s夫人一向很神秘。这会儿有人问起她的年龄,她想了想说: "20年前,我丈夫的年龄刚好是我的2倍,而现在他的年龄刚好是我的1.5倍"。 你能算出s夫人现在的年龄吗? 注意,需要提交的是一个整数,不要填写任何多余的内容。 答案:40 2.最大乘积 把 1~9 这9个数字分成两组,中间插入乘号, 有的时候,它们的乘积也只包含1~9这9个数字,而且...

橘嘉禾 200

蓝桥杯day8

文章目录1.奖券数目2.星系炸弹3.三羊献瑞4.格子中输出 2015年第六届C/C++ B组省赛真题 1.奖券数目 有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。 虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。 请提交该数字(一个整数),不要写任何多余的内容或说明性文字。 题解: 方法一:用暴力5层循环实现。每一层循环的数字

a62689的博客 169
上一篇: 蓝桥杯练习题 字符串全排列 题解
下一篇: 蓝桥杯真题 前缀判断
SkyeBCI
博客等级 码龄9年 231粉丝 211原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值