打卡信奥刷题(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

相关文章

C语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

墨刀原型工具-小白入门篇

墨刀原型工具-小白入门篇 简介 随着互联网的发展和用户体验的重要性越来越受到重视,原型设计逐渐成为了产品设计中的重要环节。墨刀作为一款原型设计工具,以其简洁、易用的特点,受到了很多设计师的喜爱。本文将介绍墨刀原型工具的基本使用方法,以帮助小白快速上手。 第一章:认识墨刀原型工具 1.1 什么是墨刀原型工具 墨刀是一款基于Web的原型设计工具,可以帮助设计师快速创建交互原型,并且可以与团队

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

二进制文件转化成文本文件

文章中如果有写错、表述不明、有疑问或者需要扩展的知识,欢迎留言或者私信~   1.区别 如果一个文件说是文本文件,使用任何一种文本编辑器打开可以展现出人类可读信息字符,因为编码都符合某种编码方式,如ASCII、UTF8、GB2312等等(在文件头可以读出来是什么编码方式,然后文本编辑器再按照规则去读取翻译成对应的字符,展示给我们的就是可读的了)。(关于编码方式不了解可以看这一篇) 如果一

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

19.手写Spring AOP

1.Spring AOP顶层设计 2.Spring AOP执行流程 下面是代码实现 3.在 application.properties中增加如下自定义配置: #托管的类扫描包路径#scanPackage=com.gupaoedu.vip.demotemplateRoot=layouts#切面表达式expression#pointCut=public .* com.gupaoedu

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型(LLMs),基本上是经过强化训练的 n-gram 模型,它们在网络规模的语言语料库(实际上,可以说是我们文明的知识库)上进行了训练,展现出了一种超乎预期的语言行为,引发了我们的广泛关注。从训练和操作的角度来看,LLMs 可以被认为是一种巨大的、非真实的记忆库,相当于为我们所有人提供了一个外部的系统 1(见图 1)。然而,它们表面上的多功能性让许多研究者好奇,这些模型是否也能在通常需要系

LeetCode11. 盛最多水的容器题解

LeetCode11. 盛最多水的容器题解 题目链接: https://leetcode.cn/problems/container-with-most-water 示例 思路 暴力解法 定住一个柱子不动,然后用其他柱子与其围住面积,取最大值。 代码如下: public int maxArea1(int[] height) {int n = height.length;int

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents