首页 > 其他分享 >NOIP2000提高组真题解析

NOIP2000提高组真题解析

时间:2023-11-29 18:23:06浏览次数:39  
标签:组真题 解析 NOIP2000 int 余数 正数

NOIP2000提高组真题解析

第一题 进制转换

题目链接

解析

首先,我们知道对于10进制数x转2进制数,使用的算法是:

  1. 求出x%2
  2. 令x=x/2
  3. 不断执行1,2,直至x为0,然后倒序输出步骤1的结果。

一般可以用数组存步骤1的结果倒序输出或者使用dfs回溯回来再输出。
对于负数的情况,比如\(-7=1*(-2)^3+0*(-2)^2+0*(-2)^1+1*(-2)^0\)
对于第一步,有\(-7=-2*3-1\),余数是-1,根据题目要求,余数得是正数且比除数的绝对值要小,所以这样算是不行的。
如果余数是正数,自然不用做处理,如果是负数,得把余数处理成正数,考虑把商增加1,那么余数必然变成正数,且会小于除数的绝对值。这样就满足题目的要求了。

代码

#include<bits/stdc++.h>
using namespace std;
int n,r;
void dfs(int x)
{
	if(x==0) return ;
	int b=x%r,k=x/r;
	if(b<0) b-=r,k++;
	dfs(k);
	if(b>=10) cout<<char(b+'A'-10);
	else cout<<char(b+'0');
}
int main()
{
	cin>>n>>r;
	cout<<n<<"=";
	dfs(n);
	cout<<"(base"<<r<<")"<<endl;
	return 0;	
} 

标签:组真题,解析,NOIP2000,int,余数,正数
From: https://www.cnblogs.com/wuying250/p/16522709.html

相关文章

  • DNS解析 CNAME!
    最近碰到一个需求,业务系统的访问域名是www.example.com,但是客户提需求能否通过example.com直接访问呢?讲实话我觉得这是没事找事,但要实现也是有办法的。这就涉及到DNS的CNAME记录了,我们都知道A记录时域名指向IPV4地址,那CNAME就是域名指向域名,我们新建一条CNAME记录@.example.com......
  • JAVA生产解析DXF;DXF-LIB
    DXF-LIBDXF解析参考资料:DXF格式-中文参考手册项目地址GitHUB地址GitEE地址DXF文件解析组件这是一个可以解析dxf文件的jar包,目前支持解析的图形有点、圆、直线、ARC弧线、多线段、单行文本、多行文本、图元将其解析为几何数据和点线数据,存储在DxfResolverImpl的baseStru......
  • 六、Dockerfile解析
    课前思考:分别准备好两个已经写好的.net程序与springboot程序,如何让这两个程序在docker中运行呢?1.什么是DockerfileDockerfile是用来构建Docker镜像的构建文件,是由一系列命令和参数构成的脚本。构造三个步骤1.编写Dockerfile文件2.编译:dockerbuild3.生成容器......
  • 深度解析工业网络交换机与工业自动化的紧密关系
    随着工业化程度的不断提高,工业控制系统的自动化程度也在不断增强,工业网络交换机作为数据通信和网络连接的重要设备,在工业自动化中扮演着关键的角色。工业网络交换机将不同的工业控制设备连接起来,实现数据的高效传输和实时互联,为工业自动化系统提供了可靠的网络基础。本文将围绕工业......
  • 2024年项目管理利器:十大工具全面解析!
    十大项目管理系统包括:1.产品研发项目管理工具:PingCode;2.通用项目协作工具:Worktile;3.开源项目管理系统:Redmine;4.IT/敏捷项目管理系统:Jira;5.免费个人项目管理:Teambition;6.桌面项目管理工具:MSProject;7.在线项目管理工具:Asana;8.小团队项目管理工具平台:Trello;9.通用型项目管理APP:Cl......
  • sendevent、getevent解析及底层操作
    getevent实时获取触控事件getevent-lt/dev/input/event1-t时间-l文本显示状态记录示例//事件类型事件码事件值EV_ABSABS_MT_TRACKING_ID0000000fEV_ABSABS_MT_POSITION_X00002bbcEV_ABSABS_MT_POSITION_Y00001......
  • 期望最大化(EM)算法:从理论到实战全解析
    本文深入探讨了期望最大化(EM)算法的原理、数学基础和应用。通过详尽的定义和具体例子,文章阐释了EM算法在高斯混合模型(GMM)中的应用,并通过Python和PyTorch代码实现进行了实战演示。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济......
  • 期望最大化(EM)算法:从理论到实战全解析
    本文深入探讨了期望最大化(EM)算法的原理、数学基础和应用。通过详尽的定义和具体例子,文章阐释了EM算法在高斯混合模型(GMM)中的应用,并通过Python和PyTorch代码实现进行了实战演示。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济......
  • Java程序员必备技能:Collections工具类深度解析!
    在之前的文章中,我们学习了单列集合的两大接口及其常用的实现类;在这些接口或实现类中,为我们提供了不少的实用的方法。本篇文章我们来介绍一种java开发者为我们提供了一个工具类,让我们更好的来使用集合Collections工具类Collections是一个操作Set,List,Map等的集合工具类它提......
  • Uboot顶层Makefile解析-1. defconfig过程分析
    1版本号TopMakefile的开头会有版本描述,VERSION是主版本号,PATCHLEVEL是补丁版本号,SUBLEVEL是次版本号,这三个一起构成了uboot的版本号,比如当前的uboot版本号就是“2016.03”。EXTRAVERSION是附加版本信息,NAME是和名字有关的,一般不使用这两个。2MAKEFLAGS有两个特......