趣味算法------试用 6 和 9 组成的最大数字

news/2024/9/18 12:06:36/ 标签: 算法, 数据结构, c语言, 递归

目录

​编辑

题目描述

解题思路

具体代码

总结


题目描述


给你一个仅由数字 6 和 9 组成的正整数 num。

你最多只能翻转一位数字,将 6 变成 9,或者把 9 变成 6 。

请返回你可以得到的最大数字。

输入格式
一个整数

输出格式
一个整数

输入输出样例
输入1
9669

输出1
9969

解题思路

        既然最多只能反转1位数字,那我们当然要反转位上的数字是6的最高位变成9,那么如果用递归求解这道题,就是先定义一个递归函数,无返回值,形参为1个整数 void fun(n)。只要传入数字不为0,下一级递归函数就是 fun(n/10)。直到n为初始数字为高位的位数时开始一级一级退出递归,每一层都检查该级递归实参的个位数字是不是6,如果是的话反转成9打印,并且定义一个flag置为0,表示以后再碰到个位数字是6的实参,也不改变该位置的值的打印结果。

具体代码

#include<stdio.h>
int flag = 1;
void fun(int n)
{   if(n == 0)return;fun(n/10);if(n%10 == 6&&flag){printf("9");flag = 0;}elseprintf("%d",n%10);
}
int main(void)
{int n;scanf("%d",&n);fun(n);
}

总结

        该题的本质是从最高位一位一位打印数字,只有当第一次碰到6后该数字打印成9。通过改进算法可以使之返回结果值。


http://www.ppmy.cn/news/1516349.html

相关文章

java日常管理

JRE、JDK和JVM简述 GC 什么是GC GC&#xff08;Garbage Collection&#xff09;内存自动管理极速&#xff1a;内存垃圾自动回收技术[内存的分配和释放] 使用GC的好处 提高了软件开发的抽象度&#xff1b;程序员可以将精力集中在实际的问题上而不用分心来管理内存的问题&am…

Linux数据相关第1个服务_备份服务rsync

1、备份服务概述 备份服务&#xff1a;需要使用到脚本&#xff0c;打包备份&#xff0c;定时任务 备份服务&#xff1a;rsyncd 服务&#xff0c;不同主机之间数据传输 特点: rsync是个服务也是命令使用方便&#xff0c;具有多种模式传输数据的时候是增量传输 增量与全量&am…

周报 | 24.8.19-24.8.25文章汇总

为了更好地整理文章和发表接下来的文章&#xff0c;以后每周都汇总一份周报。 周报 | 24.8.12-24.8.18文章汇总-CSDN博客 新智元 | 微调Flux席卷全网&#xff0c;外国小哥一人组一队漫威英雄&#xff01;_flux 怎么微调-CSDN博客 新智元 | 百万在线&#xff0c;大圣归来&…

[ 全部搞定 - 发票导出表格 ] PDF发票提取到表,图片发票提取到表格,扫描件发票提取到表格,全电发票PDF,全电发票扫描件识别导出EXCEL表格

最近很多朋友说找PDF发票提取Excel表格的&#xff0c;找到了图片识别Excel表格的&#xff0c;有的找图片识别Excel表格的&#xff0c;找到了PDF发票提取表格的&#xff0c;所以就很难搞&#xff0c;还有的说都想要 今天一篇文章&#xff0c;全部搞定所有发票【电子发票&#x…

Solon2 接口开发:实战 Gateway 模式效果

在软件开发中&#xff0c;特别是使用 Solon 框架进行接口开发时&#xff0c;采用 Gateway 模式可以有效地管理 API 路由、认证、限流等。Solon 是一个轻量级的 Java 微服务框架&#xff0c;它支持多种开发模式&#xff0c;包括 Web、RESTful API、Socket 等。这里&#xff0c;我…

一文了解 Vue3 的 nextTick 大致信息

nextTick 是 Vue 3 中用于完成数据绑定和 DOM 更新后执行的方法&#xff0c;非常有用&#xff0c;也是 Vue 的一道比较常见的面试题。 1. 基本用法 nextTick 是一个异步方法&#xff0c;它允许我们在下一个 DOM 更新后执行回调函数。当更改了响应式数据并需要在更新后的 DOM …

3、Unity【基础】Resources资源场景动态加载

文章目录 一、Resources资源动态加载1、Unity中特殊文件夹1、工程路径获取2、Resources资源文件夹3、StreamingAssets流动资源文件夹4、persistentDataPath持久数据文件夹5、Plugins插件文件夹6、Editor编辑器文件夹7、默认资源文件夹StandardAssets 2、Resources同步加载1、Re…

uniapp中 使用 VUE3 组合式API 怎么接收上一个页面传递的参数

项目是uniapp &#xff0c;使用了vue3 vite // 使用的组合式API 的 语法糖 <script setup> // 无法使用 onLoad <script> 使用不了下面方法获得上一个页面参数传递 onLoad(options){ } 解决方案1&#xff08;亲测Ok&#xff09;&#xff1a;消息通知与监听…

用于不平衡分类的 Bagging 和随机森林

用于不平衡分类的 Bagging 和随机森林 Bagging 是一种集成算法&#xff0c;它在训练数据集的不同子集上拟合多个模型&#xff0c;然后结合所有模型的预测。 [随机森林]是 bagging 的扩展&#xff0c;它也会随机选择每个数据样本中使用的特征子集。bagging 和随机森林都已被证…

嵌入式day32

recvfrom 参数&#xff1a; sockfd //socket的fd buf //保存数据的一块空间的地址 len //这块空间的大小 flags //0 默认的接收方式 --- 阻塞方式 src_addr //用来保存发送方的地址信息 addrlen //表示发送方实际的地址信息大小 返回值&#xff1a; 成功 返回接收到的字…

RabbitMQ(面试篇)

目录 MQ是什么 MQ的优点 消息队列有什么缺点 什么是RabbitMQ&#xff1f; rabbitMQ的使用常见 RabbitMQ基本概念 大家一起加油 &#xff01;&#xff01;&#xff01; MQ是什么 MQ是消息队列&#xff0c;是软件和软件之间同行的中间件产品 MQ的优点 异步处理&#xff0c…

鸿蒙开发5.0【基于CameraKit,通过avrecorder进行录像】

1 场景描述 录像是相机应用的最重要功能之一&#xff0c;录像是循环帧的捕获。本文通过CameraKit自定义相机并通过avrecorder进行录像。 2 效果图 3 自定义相机录像流程图 4 方案描述 4.1 整体描述&#xff1a; 总体可分为:1、相机输入&#xff0c;2、同时输出预览流录像流…

电商云账户:空中分账场景的优势探索

在当今这个数字化时代&#xff0c;电子商务已成为推动全球经济发展的重要力量。随着交易量的激增和交易模式的多样化&#xff0c;如何高效、安全地管理这些交易资金成为了电商平台和商家面临的重要挑战。空中分账&#xff0c;这一基于电商云账户的创新解决方案&#xff0c;正以…

SQLite简记

文章目录 概述SQLite 的特点轻量级与嵌入式设计文件系统存储无需服务器进程其他SQLite 的架构使用 SQLite安装 SQLite配置和维护 SQLite创建数据库文件FTS(全文搜索)JSON 支持外部函数扩展SQL命令FAQ为什么在嵌入式系统和移动设备中喜欢使用 SQLite概述 SQLite 是一种轻量级…

UniApp与HTML5的区别及应用场景分析

uniapp是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一套代码&#xff0c;可发布到iOS、Android、Web&#xff08;响应式&#xff09;、以及各种小程序&#xff08;微信/支付宝/百度/头条/QQ/钉钉/淘宝&#xff09;、快应用等多个平台。 HTML5是构建Web内容…

ES6中解构的使用

一、提取几个属性&#xff0c;构造一个新的对象 在JavaScript中&#xff0c;你可以使用对象解构&#xff08;Object Destructuring&#xff09;来提取一个对象中的几个属性&#xff0c;并构造一个新的对象。下面是一个示例&#xff1a; 在这个例子中&#xff0c;name和email属性…

5. HashMap的工作原理是什么?如何处理哈希碰撞?

​​​​HashMap是Java集合框架中的一个用于存储键值对的集合。它基于哈希表&#xff08;Hashtable&#xff09;实现&#xff0c;允许以常数时间复杂度&#xff08;O(1)&#xff09;进行插入、删除和查找操作。以下是HashMap的工作原理和关键概念&#xff1a; 哈希函数: 当你将…

Kubernetes中etcd备份与恢复

在Kubernetes (K8s) 中&#xff0c;etcd 是一个分布式键值存储系统&#xff0c;存储了整个集群的配置和状态数据。由于etcd在K8s集群中的核心作用&#xff0c;定期备份和有效恢复etcd数据对于维护集群的高可用性和数据完整性至关重要。 一、etcd概述 1.1 etcd的作用 etcd是一…

环境问题处理:Python写工具,转换excel内容合并到xml中(openpyxllxml)

问题描述 提示报错&#xff0c;但是没有像java代码的解决方案推荐。 Note&#xff1a;PycharmProjects\项目名\venv\Scripts 创建项目时自带的脚本&#xff0c;也包含python.exe 查看python文件有输出路径&#xff0c;使用python也能打开python3.8&#xff0c;但是无法查找pyt…

前端学习Day34

Day34:P160-P167 学习笔记: 1.对象解构&#xff1a; 对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法 基本语法: .赋值运算符左侧的0用于批量声明变量&#xff0c;右侧对象的属性值将被赋值给左侧的变量 .对象属性的值将被赋值给与属性名相同的变量 .注意…