打卡信奥刷题(19)用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解

本文主要是介绍打卡信奥刷题(19)用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

进制转换是经典的编程题,尤其是10进制转换为2进制。方法是拿给定的数,不断地除2,将余数放在对应的位置,剩下的数为对应数除2向下取整

[语言月赛 202405] 二进制

题目描述

在介绍十进制转二进制的篇目中,我们总会看到这样的方法:

  • 求出这个数字除以 2 2 2余数,然后将余数写在右侧,用商替换原来的数字;
  • 重复以上过程直到这个数字变为 0 0 0
  • 最后将右侧的所有余数倒序排列,得到的就是原数字的二进制形式。

小 S 也在学习二进制,不过她很懒,不想计算那么多次除法。于是她找到了你,希望你能为她写一个程序,帮助她得到上述过程中所有的余数

输入格式

一行,一个正整数 n n n,表示她想要转成二进制的数字。

输出格式

输出若干行,每一行两个数字 x i x_i xi y i y_i yi,表示第 i i i 次除法得到的商和余数。你应该保证 y i y_i yi 0 0 0 1 1 1

样例 #1

样例输入 #1

9

样例输出 #1

4 1
2 0
1 0
0 1

样例 #2

样例输入 #2

22

样例输出 #2

11 0
5 1
2 1
1 0
0 1

样例 #3

样例输入 #3

1

样例输出 #3

0 1

提示

样例 1 解释

首先, 9 = 2 × 4 + 1 9 = 2 \times 4 + 1 9=2×4+1,所以第一行输出 4 1,并令 9 9 9 变为 4 4 4
然后, 4 = 2 × 2 + 0 4 = 2 \times 2 + 0 4=2×2+0,所以第二行输出 2 0,并令 4 4 4 变为 2 2 2
接着, 2 = 2 × 1 + 0 2 = 2 \times 1 + 0 2=2×1+0,所以第三行输出 1 0,并令 2 2 2 变为 1 1 1
最后, 1 = 2 × 0 + 1 1 = 2 \times 0 + 1 1=2×0+1,所以第四行输出 0 1,并令 1 1 1 变为 0 0 0。过程结束。

样例 2 解释

首先, 22 = 2 × 11 + 0 22 = 2 \times 11 + 0 22=2×11+0,所以第一行输出 11 0,并令 22 22 22 变为 11 11 11
然后, 11 = 2 × 5 + 1 11 = 2 \times 5 + 1 11=2×5+1,所以第二行输出 5 1,并令 11 11 11 变为 5 5 5
接着, 5 = 2 × 2 + 1 5 = 2 \times 2 + 1 5=2×2+1,所以第三行输出 2 1,并令 5 5 5 变为 2 2 2
再然后, 2 = 2 × 1 + 0 2 = 2 \times 1 + 0 2=2×1+0,所以第四行输出 1 0,并令 2 2 2 变为 1 1 1
最后, 1 = 2 × 0 + 1 1 = 2 \times 0 + 1 1=2×0+1,所以第五行输出 0 1,并令 1 1 1 变为 0 0 0。过程结束。

数据范围

对于前 30 % 30 \% 30% 的数据,保证 n n n 为若干个 2 2 2 的乘积,且 1 ≤ n ≤ 1 0 9 1 \leq n \leq 10^9 1n109
对于另 30 % 30 \% 30% 的数据,保证除法最多只进行 3 3 3 次;
对于 100 % 100 \% 100% 的数据,保证 1 ≤ n ≤ 1 0 18 1 \leq n \leq 10^{18} 1n1018

Scratch实现

在这里插入图片描述
接下来我会不断用scratch来实现信奥比赛中的算法题,感兴趣的请关注,我后续将继续分享相关内容

这篇关于打卡信奥刷题(19)用Scratch图形化工具信奥B3972 [语言月赛 202405] 二进制 题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1004892

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

基于Python打造一个全能文本处理工具

《基于Python打造一个全能文本处理工具》:本文主要介绍一个基于Python+Tkinter开发的全功能本地化文本处理工具,它不仅具备基础的格式转换功能,更集成了中文特色处理等实用功能,有需要的... 目录1. 概述:当文本处理遇上python图形界面2. 功能全景图:六大核心模块解析3.运行效果4. 相

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

基于Python实现高效PPT转图片工具

《基于Python实现高效PPT转图片工具》在日常工作中,PPT是我们常用的演示工具,但有时候我们需要将PPT的内容提取为图片格式以便于展示或保存,所以本文将用Python实现PPT转PNG工具,希望... 目录1. 概述2. 功能使用2.1 安装依赖2.2 使用步骤2.3 代码实现2.4 GUI界面3.效

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子