AtCoder Beginner Contest 105 - C Base -2 Number (负进制转换)

关于负基数进制的转换 关于负基数进制的转换 普通基数为正的进制转换中使用的都是短除法,即不断的除以基数取整,把所有的余数倒序输出就是转换完成之后的数了 但是对于基数为负数的进制转换,由于C/C++中模运算(%)的特性,余数可能为负,当然不能简单的取绝对值了事。 -5%-2=-1 网上找到了相关的处理方法,在此记录一下: 在对负基数进制进行转换时,如果取模余数为正,那么就一切和正基数进制转换时一样 但... 阅读详情

https://abc105.contest.atcoder.jp/tasks/abc105_c

 

题意:

给你一个n,让你转为【-2进制】。

输出S

 

POINT:

假设为k进制。

模拟正k进制转换可得以下操作。

找到最小的非负整数x使得当前数减x能被k整除,这个x将作为新的最高位写到结果中,然后当前数减去x再除以k。

负k进制也可以一样的操作。

 

#include <stdio.h>

int num[50];
int main()
{
    int n;
    scanf("%d",&n);
    int cnt=0;
     if(n==0){
        printf("0\n");
        return 0;
    }
    while(n){
        if(n%2!=0){
            num[++cnt]=1;
            n=(n-1)/(-2);
        }else{
            num[++cnt]=0;
            n=n/(-2);
        }
    }

    for(int i=cnt;i>=1;i--)
        printf("%d",num[i]);
}

 

 

 

推广到k进制。 -16<=k<=16。

#include <stdio.h>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;


char S[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'};
int f(int n,int k)
{
    int kk=abs(k);
    return (n%k+kk)%kk;

}


int main()
{
    int n,k;
    string ans;
    while(cin>>n>>k){
        ans="";
        if(n==0){
            printf("0\n");
            continue;
        }
        while(n){
            int x=f(n,k);//n-x可以被k整除,且x最小
            ans+=S[x];
            n=(n-x)/k;
        }
        reverse(ans.begin(),ans.end());
        cout<<ans<<endl;
    }
}

 

Atcoder ARC102测试数据 日本竞赛网站Atcoder的ARC102场的测试数据,题面可以在Atcoder找到。 立即下载

相关推荐

matlab锅炉 pid仿真,基于Matlab锅炉仿真.doc

基于Matlab锅炉仿真内蒙古科技大学MATLAB课程设计任务书2012题 目:锅炉汽包水位控制系统学生姓名:林三彪学 号:0967112127专 业:测控技术与仪器班 级:2009-1指导教师:梁 丽摘 要锅炉是化工、炼油、发电、造纸和制糖等工业生产过程中必不可少的重要动力设备。锅炉往往成了不少工厂不可缺少的一部分,因而,对锅炉设备中的自动控制系统进行分析研究是必要的...

weixin_29133981的博客 1096

Atcode ABC105-C:Base -2 Number

C - Base -2 Number Time Limit: 2 sec / Memory Limit: 1024 MB Score :300300points Problem Statement Given an integerNN, find the base−2−2representation ofNN. Here,SSis the...

weixin_34055910的博客 293

【渗透工具】内网多级代理工具Venom详细使用教程

Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。

TT小子的博客 3757

https://atcoder.jp/contests/abc105/tasks/abc105_c

【代码】https://atcoder.jp/contests/abc105/tasks/abc105_c。

m0_66433418的博客 371

【WILEY】从Revision到Online:一次投稿的完整状态演进与关键节点实战解析

本文详细解析了从Revision到Online发表的完整投稿流程,包括修改稿准备、回复信撰写、状态跟踪等关键节点。特别针对Wiley期刊,提供了实用的操作技巧和常见问题解决方案,帮助作者高效完成论文修改与发表。

weixin_29219189的博客 361

上证指数30年k线图_金融占星简单解读上证指数30年历史行情

阅读此文需要一定的占星基础知识,本人对于金融知识了解甚少,如有描述错误请包涵指正!影响大众事件发展趋势的都是外行星,即木星-冥王星这5颗,由于时间跨度长达30年,绘制社会行星的K线图工作量太大,所以只以时代行星对这30年行情的简单解读作为分享,在今后的短期分析中会逐渐加入社会行星,甚至在个股分析上还会加入个人行星。那即使只绘制时代行星,所展现出来的信息也无法在一张图上画出来,否则太乱难以分辨,所以...

weixin_39831242的博客 1674

105.C - Base -2 Number

题目链接:https://abc105.contest.atcoder.jp/tasks/abc105_c Time limit: 2sec /Memory limit: 1024MB Score :300points Problem Statement Given an integerN, find the base−2representation ofN. H...

wys5的博客 370

基于STM32L4XX、HAL库的 ATGM336H GPS定位模块驱动程序设计

/ 转换为km/h。// 定位状态: 0=无效, 1=GPS定位, 2=差分定位。// GPS解析数据。支持GPS/BeiDou/GLONASS/Galileo/QZSS多系统联合定位。// 回调函数(需要在HAL_UART_RxCpltCallback中调用)// 地面速度(km/h)// 海拔高度(m)

zhusl6688的博客 794

Atcoder Base -2 Number

C - Base -2 Number Time limit : 2sec / Memory limit : 1024MB Score : 300 points Problem Statement Given an integer N, find the base −2 representation of N. Here, S is the base −2 representation o...

aaakirito的博客 357

005、开关电源中的基本拓扑结构简介

本文介绍了开关电源设计中常见拓扑结构的特性与选型经验。文章从实际炸机案例入手,强调深入理解拓扑的重要性,详细分析了Buck、Boost、Buck-Boost等非隔离拓扑以及反激、正激、半桥、全桥、LLC等隔离拓扑的工作原理、设计要点和典型误区,重点指出各拓扑的电压/电流应力、效率瓶颈和常见设计错误。作者根据多年经验总结出不同功率等级和输入输出条件下的拓扑选型原则,并强调细节设计对成败的决定性影响。文章通过大量工程实例说明,正确的拓扑选择和参数计算是电源设计成功的基础,而忽略基础原理将导致反复修改甚至炸机风险

Jack010169的博客 224

【技能】OpenClaw Skills学习及手搓一个极简skill

本文介绍了OpenClaw Skills的基础概念与使用方法。Skills是OpenClaw代理使用工具的核心载体,通过SKILL.md文件定义技能属性和执行方式。技能加载遵循"工作区>本地>内置>自定义目录"的优先级规则。用户可通过ClawHub一键安装现成技能,也可自定义开发技能:创建技能目录,编写包含YAML元数据和执行指令的SKILL.md文件,放置于工作区skills目录进行测试。文章还介绍了多代理场景下的技能共享、插件集成以及安全注意事项,包括沙箱使用和敏感

海兰 3975

AtCoder Beginner Contest 105 C - Base -2 Number

Time Limit: 2 sec / Memory Limit: 1024 MB Score :300300points Problem Statement Given an integerNN, find the base−2−2representation ofNN. Here,SSis the base−2−2representation ofNNwhen ...

yuxiangmitu的博客 463

LangGraph实战训练营-从零构建AI驱动的wiki知识库

本文深入解析 LangChain 团队开源的 Deep Agents 框架核心示例——LLM Wiki,一个基于大语言模型自动构建和维护持久化知识库的生产级 AI Agent 系统。文章从项目架构、环境搭建、核心原理到实战操作全面展开:详解 CompositeBackend 组合后端与细粒度权限控制的安全设计、四种工作模式(初始化/摄取/查询/质量检查)的完整流程、LangSmith 远程沙箱的隔离执行机制,以及人机协同审核(HITL)的实践应用。

program哲学 197

AtCoder Beginner Contest 105 C - Base -2 Number [负进制转换]

AtCoder Beginner Contest 105 C - Base -2 Numbear 题意 : 给定一个n , 转换成 -2 进制 #include&lt;cstdio&gt; #include&lt;vector&gt; #include&lt;cmath&gt; #include&lt;math.h&gt; #include&lt;string&gt; #include&lt...

Haipai1998的博客 327

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Atcoder contest 105 ABC D - Candy Distribution 前缀和 取模

D - Candy Distribution Time limit : 2sec / Memory limit : 1024MB Score : 400 points Problem Statement There are N boxes arranged in a row from left to right. The i-th box from the left contains Ai...

Amo丶 512

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Atcoder beginner contest 301

【代码】Atcoder beginner contest 301。

m0_74087709的博客 632

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Atcoder ABC053【A、B、C、D】

A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has decided to participate in AtCoder Beginner Contest (ABC) if his current rating is le

mengxiang000000 1554

AtCoder Beginner Contest 105 D - Candy Distribution

题目描述 给定长度为nnn的数组,求有多少个区间满足区间和是给定数mmm的倍数 既然要是mmm的倍数,也就是%m%m\%m之后的结果应该是000。 SumSumSum表示%m%m\%m后的前缀和,如果当前SumSumSum的值出现了多次说明之前也存在区间和在%m%m\%m是当前这个SumSumSum值。 这就意味着有两个从数组开头开始的区间他们的区间和再%m%m\%m之后结果一样,...

Yucohny 489

AtCoder Beginner Contest 105 D - Candy Distribution [求有多少个区间和是k的倍数]

AtCoder Beginner Contest 105 D - Candy Distribution 题意: 求有多少个[l,r]是k的倍数 思路:  , 有  因此,把所有前缀和取膜,只有膜数相同的前缀和才是k的倍数,注意别忘记%k==0的情况 #include&lt;cstdio&gt; #include&lt;vector&gt; #include&lt;cmath&gt; #i...

Haipai1998的博客 373

base -2 Number——进制转换

题目描述 Given an integer N, find the base −2 representation of N. Here, S is the base −2 representation of N when the following are all satisfied: S is a string consisting of 0 and 1. Unless S= 0, the in...

PushyTao的博客 1006

Atcoder arc_105 D.Let‘s play Nim(博弈)

题意:给定你n个背包还有n个盘子,然后n个背包里第i个背包内放有a[i]个硬币,然后起初n个盘子都是空的,然后你可以进行的操作是,每一次选择一个背包然后将背包内所有的硬币放到一个盘子中,这个盘子可空可不空。当把所有的背包里的硬币都清空时,再从有硬币的盘子中,选择一个或多个硬币拿走,最后无法取硬币的人就输了,问是先手必胜还是后手必胜。 思路:题意都说了是nim那就往nim上考虑,首先n的数目是会决定我们后面进行拿硬币也就是nim的先手顺序,所以先分开考虑不同人先手的情况。 1.n为奇数,此时的话,是第二人先手

forward77 313

Atcode Base 2 - Number

C - Base -2 Number Problem Statement Given an integer N, find the base −2 representation of N. Here, S is the base −2 representation of N when the following are all satisfied: S is a string consis...

Z_sea的博客 414

AtCoder - ARC105_C Camels and Bridge (dp + 二分)

Problem Statement There areNNcamels numbered11throughNN. The weight of Cameliiiswiwi. You will arrange the camels in a line and make them cross a bridge consisting ofMMparts. Before they cross the bridge, you can choose their order in the ...

。 1662

【AtCoder】ARC096(C - F)

听说日本题思维都很棒,去涨涨智商qwq C - Half and Half 题解 枚举买多少个AB披萨也行 但是关于买x个AB披萨最后的总花费是个单峰函数,可以三分 这题有点像六省联考2017D1T1送分题期末考试 代码 #include <iostream> #include <cstdio> #include <algorithm> #includ...

weixin_30576827的博客 179

Atcoder 刷题(划水)记录

http://agc016.contest.atcoder.jp/tasks/agc016_b 题意:有N只猫,每只猫带着某种颜色的帽子,给出每只猫能看到(即其他N-1只猫)的颜色种数a【i】,问是否可以构造出合法序列。题解: 本蒟蒻想了挺久的,显然a【i】的顺序没有什么卵用,排个序。 会有一个显然的结论: 当max-min>1时直接输出No。 max==min 则N==a[1]+1或N>=a

Moon1125666900的博客 1545
上一篇: FZU 2082 - 过路费(树链剖分 边权)
下一篇: 组合数取合数mod
Mr_Treeeee
博客等级 码龄10年 38粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值