贪心算法:最优分解问题

2023-10-30

问题描述:设n是一个正整数,现要求将n分解为若干个互不相同的自然数的和,使这些自然数的乘积最大.

代码如下:

int BestMul(int n)
{
    int i,j,mul=1;
    int num;
    //初始化一个数组,用来存放分解后的每个数
    int a[MAX] = {0};
    a[0]=2;
    num=n-2;
    //利用for循环来从2开始递增,每次后一个数比前一个数大1
    //当最后剩下的数小于前一个数时跳出循环
    for(i=0;num>a[i];i++){
        a[i+1]=a[i]+1;
        num-=a[i+1];
        printf("%d\t",a[i]);
    }
    printf("\nnum为%d\n",num);
    //得到当前数的个数
    j=i+1;
    //当剩下的数不为0时,均匀分配给前面的数
    while(num!=0)
    {
        a[i]++;
        num-=1;
        //循环分配
        i=(i-1+j)%j;
        printf("%d",a[i]);
    }
    printf("\n");
    for(i=0;i<j;i++){
         mul*=a[i];
         printf("%d ",a[i]);
    }
    printf("\n最大乘积为%d\n",mul);
}

void main()
{
    int n;
    printf("请输入自然数n:\n");
    scanf("%d",&n);
    BestMul(n);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

贪心算法:最优分解问题 的相关文章

  • python实现二分查找的四种变体

    本文用python3实现了二分查找的四种变体 一 查找第一个值等于给定值的元素 二 查找最后一个值等于给定值的元素 三 查找第一个大于等于给定值的元素 四 查找最后一个小于等于给定值的元素 python3 一 查找第一个值等于给定值的元素
  • git rebase

    目录 一 开发分支落后于主干分支 个人修复用的分支落后于被修复分支 模拟环境 开始rebase操作 二 本地分支落后于远程分支 多人共用一个分支的情况下其他人有提交 在本地模拟环境 熟悉的可以跳过 比较啰嗦 详细步骤 开始模拟情景 解决 u
  • 【Java学习笔记(一百零七)】之字节码执行引擎,栈帧结构

    本文章由公号 开发小鸽 发布 欢迎关注 老规矩 妹妹镇楼 一 字节码执行引擎 一 概述 物理机和虚拟机都有代码执行能力 物理机的执行引擎建立在处理器 缓存机 指令集和操作系统之上 而虚拟机的执行引擎则是由软件实现的 不会受到物理条件制约地定
  • 稀疏数组(尚硅谷课程的笔记)

    2 稀疏数组 文章来自于听了尚硅谷的课自己所敲 https www bilibili com video BV1E4411H73v p 10 2 1 稀疏数组 我们来看一个实际问题 此时就需要稀疏数组来压缩 稀疏数组基本介绍 当一个数组中大
  • pycharm配置解释器

    因为没有系统学习过pycharm的使用 所以在换了新电脑之后重新配置pycharm一头雾水 查了很多资料 此文用来自己记录 1 解释器选择 virtual Enviroment 第一个是虚拟解释器 我的理解是 直接从pycharm里下载一个
  • 安徽旅游可视化

    安徽旅游可视化 此系统有详细的录屏 下面只是部分截图 需要看完整录屏联系博主 系统开发语言python 框架为django 数据库mysql 分为爬虫和可视化分析
  • 没看错!selenium自动化集成REST api实践!

    01 问题 当我们描述一个 好的自动化测试用例 时 经常出现标准是 精确 自动化测试用例应该测试一件事 只有一件事 与测试用例无关的应用程序的某个部分中的错误不应导致测试用例失败 独立 自动化测试用例不应该受测试套件中任何其他测试用例影响
  • 计算机视觉 相机标定

    目录 一 相机标定原理 1 相机标定简介 2 求解原理 2 1 针孔相机模型 2 2 畸变现象 2 3 像主点偏移 2 4 单应性矩阵H 二 相机标定策略 2 1 相关策略 2 2 棋盘格标定 三 实验内容 1 实验数据 2 实验代码 3
  • Tinyhttpd项目学习及httpd学习

    在参考网络有关Tinyhttpd的内容后 我打算写下自己的学习过程与自己的理解 我会在结尾附上参考的链接 我把代码放在了gitee Tinyhttpd学习 1 Tinyhttpd是一个轻量级的HTTP服务器 2 学习该项目可以学习web服务
  • Java面向对象(4) ——多态

    目录 多态的概念 对象上下转型 多态应用之打印机 多态的概念 多态是指同一个操作作用于某一类对象 可以有不同的解释 产生不同的执行结果 比如 猫吃鱼 狗吃肉 人吃米饭 多态存在的三个必要条件 需要存在继承 extends 或实现 接口 关系
  • 自学经典5个月的python学习历程,很多老司机都不知道的奥秘

    人生苦短 我用Python 下面分享pyhton的一些基础知识 学习中可以帮助快速入门 三元条件判断的3种实现方法 C语言中有三元条件表达式 如 a gt b a b Python中没有三目运算符 但Python有它自己的方式来实现类似的功
  • xilinx开发过程中的ip核配置总结

    1 XILINX的FIFO 不同带宽输入输出 输出时 默认是先输出高位 再输出低位 这个能不能设置 先输出低位再到高位 答 在写入的时候 切换下位置就行了 2 zynq7020 fpga启动了 但是ps没反应 ps灯不闪烁 程序直接ram运
  • Anaconda > Windows+Anaconda迁移到另一个硬盘

    Anaconda轻松迁移到另一个硬盘 so easy 环境 目标 移动Anaconda目录 环境调整 结果 环境 Win10 Windows10 正常运行的Anaconda 安装目录和环境变量都是 C Anaconda3 30 GB 目标
  • 折腾响应式布局设计

    看到这个标题是不是很头大呢 不错 我这一周就折腾了这个既是要求瀑布流 又是响应式布局的货 而且还是在bootstrap框架上折腾的 所以对于响应式布局呢 咱们可以忽略了吗 当然是不行的 响应式布局概念 Responsive design 意
  • [HDU 4738] Caocao‘s Bridges

    Problem Description Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi But he wouldn t give up Caocao
  • Java Scrpit 语言基础

    数据类型 Java script 的数据类型分为基础数据类型和复合数据类型 Java script的基本数据类型 1 数值型 数值型是Java script 中的最基本的数据类型 和其他语言不同的地方在于它不区分整数数值和浮点数值 在所有的
  • 关于金额验证的Java方法(采用正则表达式)

    这是自己写的一个关于数字验证的方法 public static boolean isNumber String str java util regex Pattern pattern java util regex Pattern comp
  • 标定协议之CCP协议实现流程介绍

    之前两篇文章对CCP标定协议作了初步的介绍 大家也应该有了一定的了解 本文将对CCP标定协议的实现进行介绍 让大家能够进一步理解CCP标定协议 目前CCP协议最新版本是V2 1 在Vector的官网上提供了相应的参考例子 本文基于Vecto
  • UniApp 实战指南

    uni app 是一个使用 Vue js 开发所有前端应用的框架 开发者编写一套代码 可发布到iOS Android Web 响应式 以及各种小程序 微信 支付宝 百度 头条 飞书 QQ 快手 钉钉 淘宝 快应用等多个平台 打包原生 APP
  • pycharm configuration配置参考文档

    一 虚拟环境的配置 1 进入Pycharm的设置页面 找到自己的项目 点击右上侧的 Add 按钮 进行添加 2 进入添加页面 选择已存在的虚拟环境 点击右侧按钮进行添加 3 选择你所需要的虚拟环境 进行添加 最后点击 OK 4 添加成功之后

随机推荐

  • 我对计算机网络技术的了解,对计算机网络技术专业人才培养教学资源建设的实践意义的理解...

    摘要 本文结合 计算机网络技术专业人才培养教学资源建设研究 以武汉职业技术学院网络技术专业为例 课题 编号2016GHB02056 针对计算机网络技术专业传统教学中存在的问题 寻求通过计算机网络技术人才培养教学资源的建设来改变目前的狀况 并
  • 游戏开发unity杂项知识系列:如何查看Unity API文档

    https blog csdn net scalince article details 75199853
  • 字典dict常用操作

    gt gt gt dict x 1 y 2 x 1 y 2 gt gt gt dict1 dict x 1 y 2 gt gt gt dict1 x 1 y 2 gt gt gt dict
  • 家居商城小程序:打造舒适家居生活的优选平台

    随着人们对家居生活品质的追求 家居商城小程序成为提供便捷购物和个性化服务的不可或缺的工具 通过家居商城小程序 用户可以浏览并购买各类家居商品 如家具 装饰品 家纺等 同时 家居商城小程序能提供热销商品推荐 客户评价和在线客服等功能 家居商城
  • 矩阵基本运算(C++)

    闲着没事 将以前利用C 实现的矩阵各种运算整理了一下 分享一下 矩阵运算包括 1 二维矩阵创建 6 两矩阵上下叠加 2 两矩阵相加 7 矩阵左右叠加 3 两矩阵相减 8 矩阵转置 4 两矩阵相乘 9 矩阵求逆 5 一个数字与矩阵相乘 10
  • Vue 项目下载文件最佳解决方案

    大厂技术 高级前端 Node进阶 点击上方 程序员成长指北 关注公众号 回复1 加入高级Node交流群 原文链接 https juejin cn post 7062888582465191944作者 远航 开发中经常遇到这样的功能 用户将文
  • 文字检测定位--SAST

    文字检测过程分两步 第一步为检测出文字所在的位置 第二步根据检测框里的内容进行文字识别 SAST是一种自然场景下的文本检测算法 论文地址 https arxiv org abs 1908 05498 一 背景知识 1 语义分割算法 FCN全
  • 如何使用vue的渲染函数 API:h函数创建一个el-select弹出框

    如何使用vue的h函数创建一个el select弹出框 效果示例图 示例代码 h 创建虚拟 DOM 节点 vnode 效果示例图 示例代码 const h this createElement this msgbox title 是否发送短
  • SAE J1939转ModBus RTU模块 YMMCS-7001使用说明及心得体会

    SAE J1939总线是工程机械行业常用总线 发动机 车辆等运行参数都可以通过该总线获取 常规电控系统以PLC加组态屏方案为主 具有RS485接口 ModBus RTU协议进行总线组网 YMMCS 7001 协议转换模块直接可将SEA J1
  • 【Linux】写时复制(CopyOnWrite)

    目录 什么是写时拷贝 写时拷贝原理 原文 https blog csdn net Code beeps article details 92838520 http c biancheng net view 1272 html 什么是写时拷贝
  • bootstrap-table 添加行保留原数据

    添加行 保留原数据 function addSgbzColumn var count bootstrap table bootstrapTable getData length var params new Array for var da
  • 使用GraphEdit调试你的Filter

    Posted by 令狐葱 on 2006年03月12日 今天看到在VC6 0里面可以直接使用 GraphEdit调试你自己编写的 Filter 但是反复试了多次就是摸不着门路 后来在网上找资料 又参考了一些书 问了郭郭和小侯 才终于把Gr
  • 线程类的构造方法与成员方法

    1 构造方法 public Thread 分配一个新的线程对象 public Thread String name 分配一个指定名字的新的线程对象 public Thread Runnable target 分配一个带有指定目标新的线程对象
  • mybatis详解(必会)

    文章目录 什么是mybatis 什么是持久化 什么是持久层 为什么要学习mybatis 配置解析 生命周期和作用域 ResultMap映射 一对多和多对一的处理 动态sql 缓存 EhCache 什么是mybatis MyBatis 是一款
  • 面试官问“你还有什么需要了解的吗”——应该这样回答

    最近被追问 如何化解面试官说出 你还有什么需要从我这里了解的吗 时你竟无言以对的尴尬 比较不建议在这个时候向面试官提问琐碎日常 比如 有没有加班费啊喂 上下班时间是怎样啊 打车吃饭是不是可以报销嘞 即使你在来面试前并没有对这家公司做过少许调
  • 机器学习(十四)SVM分类案例

    01 案例一 鸢尾花数据SVM分类 import numpy as np import pandas as pd from sklearn import svm from sklearn model selection import tra
  • Golang sync.pool对象池

    概览 Goalng中通过sync pool提供了对象池的实现来达到对象复用的目的 在netty中 也通过Recycle类实现了类似的对象池实现 在netty的对象池Recycle中 当A线程需要将B线程申请的对象回收到对象池中的时候 会专门
  • handleMessage的使用

    xml代码
  • YOLOv5学习笔记

    转载于 深入浅出Yolo系列之Yolov5核心基础知识完整讲解 江南研习社 CSDN博客 yolov5 1 网络结构 Yolov5官方代码中 给出的目标检测网络中一共有4个版本 分别是Yolov5s Yolov5m Yolov5l Yolo
  • 贪心算法:最优分解问题

    问题描述 设n是一个正整数 现要求将n分解为若干个互不相同的自然数的和 使这些自然数的乘积最大 代码如下 int BestMul int n int i j mul 1 int num 初始化一个数组 用来存放分解后的每个数 int a M