递归与递推(蓝桥杯 c++)

news2024/11/15 11:02:53

目录

题目一: 

 代码:

 题目二:

 代码:

题目三:

 代码:

题目四:

代码:

题目一: 

 代码:

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    long long a[110][110];//第i行第j个可取的最大值
    int n;
    long long ans = 0;
    cin >> n;
    memset(a, 0, sizeof(a));
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= i; j++)
        {
            cin >> a[i][j];
            a[i][j] += max(a[i - 1][j], a[i - 1][j - 1]);//正上方的和斜上角的取大的加
            ans = max(ans, a[i][j]);
        }
    }
    cout << ans;
}

 题目二:

 代码:

#include<iostream>
#include<vector>
using namespace std;
vector<long long>s[10];//存每组里包含的数
int main()
{
    char a[10];
    for (int i = 1; i <= 6; i++)//输入转化
    {
        cin >> a[i];
        if (a[i] == 'J')
            a[i] = 11;
        else if (a[i] == 'Q')
            a[i] = 12;
        else if (a[i] == 'K')
            a[i] = 13;
        else if (a[i] == 'A')
            a[i] = 1;
        else
            a[i] = a[i] - '0';
    }
    s[1].push_back(a[1]);//第一组里只有第一个数
    for (int i = 2; i <= 6; i++)//从第二组遍历到第六组
    {
        for (int j = 0; j < s[i-1].size(); j++)//上一组的每一个数都与当前的数进行运算,存入该组
        {
            s[i].push_back(s[i - 1][j] + a[i]);
            s[i].push_back(s[i - 1][j] - a[i]);
            s[i].push_back(s[i - 1][j] * a[i]);
            s[i].push_back(s[i - 1][j] / a[i]);
        }
    }
    int flag = 1;
    for (int i = 0; i < s[6].size(); i++)//遍历第六组
    {
        if (s[6][i] == 42)//有等于42的即输出yes,并跳出
        {
            cout << "YES" << endl;
            flag = 0;
            break;
        }
    }
    if (flag == 1)
        cout << "NO" << endl;
}

题目三:

 代码:

#include<iostream>
using namespace std;
int fun(int n, int k)//n个分成k份
{
    if (n == 0 || k == 0 || n < k)//n=0即没有了,k=0即分给0份,n<k即不够分了,这些都返回0
        return 0;
    if (k == 1 || n == k)
        return 1;
    return fun(n - k, k) + fun(n - 1, k - 1);//fun(n-k,k)表示每份都再分一个,fun(n-1,k-1)表示有一份分一个,剩下的分给其它份
}
int main()
{
    int n, k;
    cin >> n >> k;
    cout<<fun(n, k);
}

题目四:

代码:

#include<iostream>
#include<cstring>
using namespace std;
int f[1010];//j可以产生的数
int main()
{
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= i / 2; j++)//左边加上的数不超过原数的一半
        {
            f[i] += f[j];
        }
    f[i]+=1;//本身也算一个,即不做处理
    }
    cout << f[n];
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1486272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

deep learning with pytorch(一)

1.create a basic nerual network model with pytorch 数据集 Iris UCI Machine Learning Repository fully connected 目标:创建从输入层的代码开始&#xff0c;向前移动到隐藏层&#xff0c;最后到输出层 # %% import torch import torch.nn as nn import torch.nn.funct…

Vue开发实例(五)修改项目入口页面布局

修改项目入口 一、创建新入口二、分析代码&#xff0c;修改入口三、搭建项目主页面布局1、Container 布局容器介绍2、创建布局3、布局器铺满屏幕4、创建Header页面5、加入Aside、Main和Footer模块 一、创建新入口 创建新的入口&#xff0c;取消原来的HelloWorld入口 参考代码…

图像分割 - 凸包(图像的轮廓)

1、前言 之前的文章 绘制几何图形的轮廓,介绍了矩形包围框和圆形包围框。 虽然这两种包围框以及足够逼近图形的边缘,但为了保持几何形状(矩形和圆形),其实与图形的真实轮廓贴合度较差,为了更贴近图形轮廓,这里介绍凸包。 凸包:图形最外层的端点,将端点连接起来,围…

[C++]AVL树怎么转

AVL树是啥 一提到AVL树&#xff0c;脑子里不是旋了&#xff0c;就是悬了。 AVL树之所以难&#xff0c;并不是因为结构难以理解&#xff0c;而是因为他的旋转。 AVL树定义 平衡因子&#xff1a;对于一颗二叉树&#xff0c;某节点的左右子树高度之差&#xff0c;就是该节点的…

训练2布线 玛露希尔

前言 这不是雕刻 是布线纹理绘制blender材质渲染 2D 3D 起手式 八点眼 侧峰线 三角鼻(三面鼻) 下颚角 额, 嘴 线 法令环 橄榄嘴

linux高级编程:线程(二)、进程间的通信方式

线程&#xff1a; 回顾线程&#xff08;一&#xff09;&#xff1a; 1.线程间通信问题 线程间共享同一个资源&#xff08;临界资源&#xff09; 互斥&#xff1a; 排他性访问 linux系统 -- 提供了Posix标准的函数库 -- 互斥量&#xff08;互斥锁&#xff09; 原子操作&#x…

内存管理 -----分段分页

分段 分段&#xff1a;程序的分段地址空间&#xff0c;分段寻址方案 两个问题 分段 &#xff1a;是更好分离和共享 左边是有序的逻辑地址&#xff0c;右边是无序的物理地址&#xff0c;然后需要有一种映射的关系&#xff08;段关联机制&#xff09; 各个程序的分配相应的地址…

Pygame教程01:初识pygame游戏模块

Pygame是一个用于创建基本的2D游戏和图形应用程序。它提供了一套丰富的工具&#xff0c;让开发者能够轻松地创建游戏和其他图形应用程序。Pygame 支持许多功能&#xff0c;包括图像和声音处理、事件处理、碰撞检测、字体渲染等。 Pygame 是在 SDL&#xff08;Simple DirectMed…

181基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2

基于matlab的利用LMS算法、格型LMS算法、RLS算法、LSL算法来估计线性预测模型参数a1和a2&#xff1b;预测信号由二阶线性预测模型产生。2.利用LMS算法和RLS算法将一个叠加有噪声的信号实现噪声消除&#xff0c;恢复原始信号。有22页试验分析文档。&#xff08;包括程序在内&…

通过MNIST手写数字识别任务快速入门深度学习(事无巨细版)

什么是深度学习 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个研究方向。 深度学习通过对样本数据的内在规律和特征的提取与抽象,在不同维度和层次上进行处理,让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。 相比于初期的…

【算法科目】2024年第二届全国大学生信息技术认证挑战赛 题解

图像压缩 曾经看到过&#xff0c;这是一道洛谷原题&#xff0c;很可惜我没做过&#xff0c;有点看不懂就没尝试。 原题链接&#xff1a;B3851 [GESP202306 四级] 图像压缩 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 因数分解 直接枚举就行了&#xff0c;从2开始找因子&a…

python中的类与对象(3)

目录 一. 类的多继承 二. 类的封装 三. 类的多态 四. 类与对象综合练习&#xff1a;校园管理系统 一. 类的多继承 在&#xff08;2&#xff09;第四节中我们介绍了什么是类的继承&#xff0c;在子类的括号里面写入要继承的父类名。上一节我们只在括号内写了一个父类名&…

Latex中如何调整算法伪代码\begin{algorithm}的字体大小?

在LaTeX中&#xff0c;要调整algorithm环境&#xff08;通常与algorithmic、algorithmicx、algorithm2e等包一起使用来编写伪代码&#xff09;中的字体大小&#xff0c;你可以使用\small、\footnotesize、\tiny等命令来减小字体大小&#xff0c;或者使用\large、\Large、\LARGE…

简单实现文字滚动效果-CSS版本

先看看效果 话不多说直接上代码 <template><div class"main"><div class"scroll-region"><div class"swiper-scroll-content"><span class"list-btn" v-for"(item, index) in overviewList" :…

【重温设计模式】命令模式及其Java示例

命令模式的介绍 在我们的编程世界中&#xff0c;设计模式如同一盏指路明灯&#xff0c;它们是前人智慧的结晶&#xff0c;为我们照亮了解决复杂问题的路径。 其中&#xff0c;命令模式是一种行为设计模式&#xff0c;其主要的目标是将操作封装到对象中。这种模式的一个显著特点…

基于springboot+vue的图书电子商务网站

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

数据修改

Oracle 目录 数据修改 将员工编号的 7369 的员工工资修改为 810&#xff0c;佣金改为 100 将工资最低的员工工资修改为公司的平均工资 将所有在 1981 年雇佣的员工的雇佣日期修改为今天&#xff0c;工资增长 20% 数据的更新操作 Oracle从入门到总裁:https://blog.csdn.n…

学习人工智能的方法及方向!

目录 一、第一部分&#xff1a;了解人工智能 二、人工智能学习路线图 三、职业规划 四、未来展望 五、总结 在这个信息爆炸的时代&#xff0c;想要系统性地学习人工智能&#xff08;AI&#xff09;并找到对应方向的工作&#xff0c;你需要一个明确的学习路径和职业规划。本…

【latex】\IEEEpubid版权声明与正文内容重叠

问题描述 撰写IEEE Trans论文时&#xff0c;出现版权声明文字\IEEEpubid与正文内容重叠的问题&#xff1a; 原因分析&#xff1a; 在使用模板时&#xff0c;不小心将以下命令删除了&#xff1a; \IEEEpubidadjcol 解决方案&#xff1a; 在需要换页的位置附近添加以上命令&…

投影和定义投影的区别

Arcmap中关于投影的工具有四个&#xff0c;分别是定义投影、投影、投影栅格、批量投影。这四个工具既有相同之处也有不同之处&#xff0c;下面我将一一介绍。 ①定义投影&#xff1a;Arcmap中关于定义投影工具是这样描述的&#xff1a;“所有地理数据集均具有一个用于显示、测…