当前位置: 首页 > news >正文

【洛谷】B3849 [GESP样题 三级] 进制转换

背景

大家好,我回来了。
最近发生了挺多事情的,走到现在这个阶段、这个地步,回首往事,忽然感觉时间完全没有给人任何喘息的空间。这些年来,整个大环江变化非常快,把瞬息万变这个词汇体现得淋漓尽致。
我也是万分感慨,只恨年少的自己不争气,给现在带来了这么多的困苦。如今我回首往事,本不想再向任何说起这段故事,但当我做到这个题目的时候,我情难自禁,无法抑制内心的冲动和表达的欲望。
因为这题,我同时对DFS进制转换有了悟性般的了解。
再重做这道题时,虽然没有了破茧成蝶那样痛苦的挣扎,也不再花费大量精力去研究,但当初那段最美好的时光、当时的兄弟朋友早已经远去…

B3849 [GESP样题 三级] 进制转换

题目描述

小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢?在十六进制中,用 A 表示 10 10 10F 表示 15 15 15。如果扩展到用 Z 表示 35 35 35,岂不是可以表示 36 36 36 进制数了嘛!

所以,你需要帮助她写一个程序,完成十进制转 R R R 进制( 2 ≤ R ≤ 36 2\le R\le 36 2R36)的工作。

输入格式

输入两行,第一行包含一个正整数 N N N,第二行包含一个正整数 R R R,保证 1 ≤ N ≤ 1 0 6 1\le N\le 10^6 1N106

输出格式

输出一行,为 N N N R R R 进制表示。

输入输出样例 #1

输入 #1

123
25

输出 #1

4N

思路
8421码,位权相乘相加原理。逐层遍历,最后倒序输出。

#include<bits/stdc++.h>
using namespace std;
void dfs(int n,int scale)
{
	if(!n) return;
	dfs(n/scale,scale);
	int t=n%scale;
	if(t>=10)
	 cout<<(char)('A'-10+t);
	else
	 cout<<t;
}
int main()
{
	int n,scale;
	cin>>n>>scale;
	dfs(n,scale);
}

相关文章:

  • DeepSeek与ChatGPT的全面对比
  • electron 学习
  • 【virtiofs】ubuntu24.04+qemu7.0调试virtiofs
  • 洗牌加速!车规MCU“冷热交加”
  • rust学习一、入门之搭建简单开发环境
  • 【人工智能】通过python练习机器学习中的8大算法
  • SpringMVC详解
  • 使用爬虫获取1688商品分类:实战案例指南
  • 【技术解析】MultiPatchFormer:多尺度时间序列预测的全新突破
  • 固高控制卡的几种运动模式
  • 洛谷 P3660 USACO17FEB Why Did the Cow Cross the Road III 题解
  • 云点SEO:外贸独立站谷歌SEO优化的五大优势
  • Python----PyQt开发(PyQt高级:界面切换,信号与槽功能pyqtSignal)
  • Java基础概念
  • 国产编辑器EverEdit - 上下翻滚不迷路(历史编辑位置、历史光标位置回溯功能)
  • Typora“使用”教程
  • SpringBoot开发——初步了解SpringBoot
  • UE_C++ —— UObject Instance Creation
  • AcWing——1571. 完美序列
  • 无人机航迹规划:互联银行系统优化(Connected Banking System Optimizer,CBSO)求解无人机路径规划MATLAB
  • 重庆荣昌区委区政府再设“答谢宴”,邀请800余名志愿者机关食堂用餐
  • “浦东时刻”在京展出:沉浸式体验海派风情
  • 竞彩湃|霍芬海姆看到保级曙光,AC米兰专注于意大利杯
  • 全国人大常委会启动食品安全法执法检查
  • 最快3天开通一条定制公交线路!上海推出服务平台更快响应市民需求
  • 招行:拟出资150亿元全资发起设立金融资产投资公司