首页 > 编程语言 >c++递归算法较难题:分解数字

c++递归算法较难题:分解数字

时间:2024-08-05 11:57:16浏览次数:12  
标签:pre 递归 int void 样例 c++ 算法 分解 ans

题目描述:输入自然数 n,然后将其分拆成由若干数相加的形式,参与加法运算的数可以重复,要求输出降序排列。

输入描述:一个待拆分的自然数n,(n≤50) 。

输出描述:若干个拆分的加法等式。

样例输入:

5

样例输出:

5=5
5=4+1
5=3+2
5=3+1+1
5=2+2+1
5=2+1+1+1
5=1+1+1+1+1

题目思想:将要分解的数字与分解出来的前一个数字以及下标用实参的方法传入函数:

void f(int n,int pre,int k){
    //函数内容;
}


代码实现

#include <iostream>
using namespace std;
int ans[55],m;
void f(int n,int pre,int k){
    if(n==0){
        cout<<m<<"=";
        for(int i=1;i<=k-2;i++){
            cout<<ans[i]<<"+";
        }
        cout<<ans[k-1]<<endl;
        return;
    }else{
        for(int i=min(n,pre);i>=1;i--){
            ans[k]=i;
            f(n-i,i,k+1);
        }
    }
}
int main(){
    cin>>m;
    f(m,m,1);
    return 0;
}

代码仅供参考。。

标签:pre,递归,int,void,样例,c++,算法,分解,ans
From: https://blog.csdn.net/2301_79367516/article/details/140791995

相关文章

  • C++回溯算法经典例题:四皇后问题
    问题简介:在一个4×4的棋盘上,任意两个皇后都不能处在同一行、同一列任意两个皇后都不能处在同一斜线上(主斜线、反斜线)。题目分析:1.假设第一个皇后在(1,1):    1)在x=3时会卡死            2)在x=4时会卡死        2.假设第一个皇后在(2,1): ......
  • C++简单模拟:电梯问题
    问题描述:某城市最高建筑物只有一个电梯,一个请求列表是由 n 个正整数组成的。数字表示电梯将停在哪个楼层。电梯向上移动一层需要 6 秒,向下移动一层需要 4 秒。电梯每次停下会停留 5 秒,对于给定的请求列表,需要计算用于满足列表中所有请求的总时间。电梯开始时在第一层......
  • C++商店管理系统
    代码中使用了C++11的特性后面有些输出(cout输出的)的提示文本是英文,因为懒得敲中文源码在最后面文末投票参与一下谢谢商品数据保存在items.txt用户数据保存在users.txt实现功能1.添加商品(商品ID,商品名,库存数量,价格)填写完信息后询问是否执行2.修改商品(先提示原有信......
  • SpringBoot-书店信息管理系统+93494(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP
    基于springboot书店信息管理系统摘 要书店信息管理系统采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图、公告栏、资源管理(图书资讯、资讯分类)交流管理(留言板、留言板分类)系统用户(管理员、顾客用户......
  • 【每日一题】【DFS】【试除法求约数】【大剪枝】清楚姐姐跳格子 牛客周赛 Round 54 D
    牛客周赛Round54D题清楚姐姐跳格子题目背景牛客周赛Round54题目描述样例#1样例输入#1523154样例输出#12做题思路首先知道ai......
  • Halcon C++ 环境配置
    前言:这一段时间因为工作原因在使用Halcon做机器视觉的方案,因此学习了小半年的halcon,在学习过程中使用记事本记录下了学习过程中的一些经验,整理出来分享。目标:在VS2020编译环境下,配置Halcon的环境,使之能够调用Halcon的方法。方法:打开新建的项目,点开该项目的属性。在VC++目录......
  • 【高录用!Fellow 主讲!SPIE独立出版 | 往届均已EI检索】第四届先进算法与神经网络国际学
    第四届先进算法与神经网络国际学术会议(AANN2024)由中国石油大学(华东)及山东省可信人工智能生态数据开放创新应用实验室联合主办,会议将于2024年8月9-11日在中国·青岛召开。AANN2024将围绕“先进算法与神经网络”的最新研究领域,为来自国内外高等院校、科学研究所、企事业......
  • 基于图像处理的火焰检测算法(颜色+边缘)
    介绍    由于经常发生大面积火灾,对人类健康和安全造成影响,火灾探测作为工具的应用越来越多。当前基于电子传感器的检测方法通常依赖于热和压力传感器。然而这些方法有一个致命的缺陷,即它们只有在达到一定条件时才会起作用。在最坏的情况下,传感器损坏或配置不正确可能会......
  • C++(仿函数)
    目录1.仿函数的定义和使用2.仿函数的优点3.总结仿函数(Functor)是C++中的一种重要概念,它指的是一个重载了operator()的类或结构体。仿函数允许你像使用普通函数一样使用类的实例。它们通常用于需要函数作为参数的算法或需要自定义操作的场景。1.仿函数的定义和使用定义......
  • C++进阶 map和set
    目录关联式容器键值对set的介绍set的使用set的模板参数列表set的构造set的迭代器set的容量set修改操作 multiset的介绍multiset的使用map的介绍map的使用map的模板参数说明map的构造map的迭代器map的容量与元素访问map中元素的修改 multimap的介绍关联......