6-8 十进制转换二进制(递归)

分数 10

作者 C课程组

单位 浙江大学

本题要求实现一个函数,将非负整数n转换为二进制后输出。

函数接口定义:

 
void dectobin( int n );

函数dectobin应在一行中打印出二进制的n。建议用递归实现。

裁判测试程序样例:

#include <stdio.h>void dectobin( int n );int main()
{int n;scanf("%d", &n);dectobin(n);return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

10

输出样例:

1010

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

十进制数转二进制数的基本方法:

  1. 除以2:将给定的十进制数除以2。
  2. 记录余数:将每次除法的余数(0或1)记录下来。
  3. 使用商继续除以2:用上次除法的商(整数部分)再次除以2,并重复步骤2。
  4. 重复步骤:继续这个过程,直到商为0。
  5. 逆序排列余数:将记录的余数从下到上排列(即逆序),得到的序列就是该十进制数的二进制表示。

以下是一个具体的例子,将十进制数23转换为二进制数:

  1. 23 ÷ 2 = 11 ... 1 (商是11,余数是1)
  2. 11 ÷ 2 = 5 ... 1 (商是5,余数是1)
  3. 5 ÷ 2 = 2 ... 1 (商是2,余数是1)
  4. 2 ÷ 2 = 1 ... 0 (商是1,余数是0)
  5. 1 ÷ 2 = 0 ... 1 (商是0,余数是1)

现在,将记录的余数从下到上排列:11011。所以,十进制数23的二进制表示是11011。

C程序如下:

void dectobin(int n) {  // 如果n为0,直接打印0(这是递归的基准情况)  if(n == 0){  printf("%d",n);  }  // 如果n为1,直接打印1(这也是一个基准情况)  else if(n == 1){  printf("%d",n);  }  // 对于其他情况,递归处理n/2(即n的高位部分),然后打印n%2(即n的低位部分)  else{  // 递归调用,先处理n的高位部分  dectobin(n / 2);  // 打印n的低位部分  printf("%d",n % 2);  }  }

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

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

相关文章

WordPress插件Plus WebP,可将jpg、png、bmp、gif图片转为WebP

现在很多浏览器和CDN都支持WebP格式的图片了&#xff0c;不过我们以前的WordPress网站使用的图片都是jpg、png、bmp、gif&#xff0c;那么应该如何将它们转换为WebP格式的图片呢&#xff1f;推荐安装这款Plus WebP插件&#xff0c;可以将上传到媒体库的图片转为WebP格式图片&am…

HIVE调优MapJoin

HIVE调优MapJoin 目录 HIVE调优MapJoin 1.mapjoin &#xff08;1.2以后自动默认启动mapjoin&#xff09; 2.创建表格 3.查询建表 4.通过 explain 展示执行计划 5.Map JOIN 相关设置&#xff1a; 1.mapjoin &#xff08;1.2以后自动默认启动mapjoin&#xff09;…

[机器学习-05] Scikit-Learn机器学习工具包进阶指南:协方差估计和交叉分解功能实战【2024最新】

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

VUE格式探究记录

1.背景 vue格式为鹰图Intergraph SP3D格式&#xff0c;是私有格式。博主对vue格式的直接解析可行性进行了初步的探究&#xff0c;记录如下。 2.探究 目前能够解析vue格式的软件有3类&#xff08;其背后路线有可能有相同的&#xff09;&#xff0c; 鹰图Intergraph系列软件&…

springmvc处理模型数据

springmvc处理模型数据 很多情况下页面上需要很多数据&#xff0c;单单返回页面是不行的&#xff0c;那么springmvc如何将数据返回到该页面呢 springmvc提供了四种方式来输出模型数据 ModelAndView: 处理返回值为ModelAndView时&#xff0c;可以将该对象中添加数据模型 Map及Mo…

数据库监控监听

嘿嘿 又知道多一点点 说来有些惭愧 现在才发现&#xff0c;都怪canal 哈哈 实时监控mysql表除了canal还有什么&#xff0c;还有很多&#xff0c;比如 mysql-binlog-connector-java GitHub - liufeiit/mysql-binlog-connector-java: mysql-binlog-connector-java java库&…

前端小白一文掌握 CSS3 2D转换transform

文章导读&#xff1a;AI 辅助学习前端&#xff0c;包含入门、进阶、高级部分前端系列内容&#xff0c;当前是 CSS 的部分&#xff0c;瑶琴会持续更新&#xff0c;适合零基础的朋友&#xff0c;已有前端工作经验的可以不看&#xff0c;也可以当作基础知识回顾。 CSS3 中的转化 …

设计模式-结构型-桥接模式-Bridge

桥接模式可以减少类的创建 矩阵类 public class Matrix {private String fileName;public Matrix(String fileName) {this.fileName fileName;}public String getFileName() {return fileName;} } 图片抽象类 public abstract class Image {protected ImageImp imp;public …

黄芪党参茶

黄芪党参茶是一种传统的中药茶饮&#xff0c;由黄芪和党参两味药材煮制而成。这种茶饮在中医理论中被认为具有补中益气、调理脾胃、利水消肿、养血安神等多种功效。 主要功效 补中益气&#xff1a;黄芪和党参都具有补中益气的功效。黄芪味甘、性微温&#xff0c;有补气固表的…

常见算法策略

前言 算法策略是指在解决问题或完成任务时所采用的方法、技巧或步骤的总称。 在设计算法时&#xff0c;通常会考虑多种策略&#xff0c;并选择最适合特定问题的策略来实现算法的设计和优化。 算法策略比较 动态规划 动态规划介绍入口

基于协同过滤算法的旅游推荐系统的设计

基于协同过滤算法的旅游推荐系统的设计 Design of a Travel Recommendation System based on Collaborative Filtering Algorithm 完整下载链接:基于协同过滤算法的旅游推荐系统的设计 文章目录 基于协同过滤算法的旅游推荐系统的设计摘要第一章 前言1.1 研究背景1.2 研究目的…

动手学深度学习16 Pytorch神经网络基础

动手学深度学习16 Pytorch神经网络基础 1. 模型构造2. 参数管理1. state_dict()2. normal_() zeros_()3. xavier初始化共享参数的好处 3. 自定义层4. 读写文件net.eval() 评估模式 QA 1. 模型构造 定义隐藏层–模型结构定义前向函数–模型结构的调用 import torch from torch…

dom驱动和数据驱动的理解

DOM&#xff08;Document Object Model&#xff09;驱动和数据驱动在前端开发中扮演着不同的角色&#xff0c;它们各自有其独特的特性和应用场景。 DOM驱动&#xff1a; DOM&#xff08;文档对象模型&#xff09;驱动是传统的前端开发模式。在这种模式下&#xff0c;开发人员…

Spark读取Hive数据或文件如何提升速度的优化思路

场景描述 场景一&#xff1a;数据不均匀&#xff0c;个别task获取的数据比其他Task多&#xff0c;导致单个Task或几个Task执行很慢。场景二&#xff1a;数据均匀&#xff0c;但是每个Task数据量都很多&#xff0c;执行时间达不到预期。 解决思路 读取前优化&#xff1a;优化…

Xilinx 千兆以太网TEMAC IP核 MDIO 配置及物理接口

基于AXI4-Lite接口可以访问MDIO(Management Data Input/Output)接口&#xff0c;而MDIO接口连接MAC外部的PHY芯片&#xff0c;用户可通过AXI4-Lite接口实现对PHY芯片的配置。 1 MDIO接口简介 开放系统互连模型OSI的最低两层分别是数据链路层和物理层&#xff0c;数据链路层的…

联丰策略股票炒股APP市场这些板块爆发!A股后市怎么走?

查查配5月10日,A股三大指数涨跌不一。 联丰策略拥有一支由知名互联网公司和国内证券金融机构的行业专家组成的一流运营团队。凭借他们在互联网产品开发和金融风险管理方面的丰富经验,我们的团队致力于为客户提供专业和个性化的证券交易服务。 截至收盘,沪指涨0.01%,报3154.55点…

Linux 网络时间校准

随笔 目录 1. ntp 校验 2. timedatectl 命令来进行时间同步 2.1 安装 Chrony 软件包 2.2 编辑Chrony的配置文件/etc/chrony.conf&#xff0c;选择你想要同步的NTP服务器 2.3 确认Chrony服务已经启动 2.4 命令查看系统时间与NTP服务器的同步情况 1. ntp 校验 1. 确保你的…

leetcode-矩阵最长递增路径-102

题目要求 思路 1.通过双循环去把每一个结点作为起始点进行统计&#xff0c;将返回的路径长度存放在res中&#xff0c;取最大的res的长度。 2.递归中需要的几个值&#xff0c;x和y当前结点的坐标&#xff0c;pre用于存储上一个结点的元素值&#xff0c;因为要求是路径上的元素是…

8. SVG的填充和描边

在SVG中&#xff0c;fill和stroke属性是用来控制图形的填充和描边的。下面我将分别详细介绍这两个属性及它们的衍生属性。 Fill 属性&#xff08;填充&#xff09; 应用场景 绘制实心图形&#xff1a;如圆形、矩形、多边形等的内部填充。用于表示实体对象、区域等&#xff0…

【TC3xx芯片】TC3xx芯片电压监控和温度监控

目录 前言 正文 1.电压监控 1.1电压监控功能概述 1.2电压监控配置过程