竞赛
考级
这一题考察的是10,8,16进制之间的转换了,可以将转换的过程封装为函数来做。 10 -> 8可以用对8取余,然后整除8,最后将对8取余的结果倒序排列就好,这里可以用到栈和while循环来实现,该函数代码如下 16 -> 10可以用每一个数字乘上它所对应的权值来转换,各各数位的权值从后向前为 16^0, 16^1, 16^2……该函数代码如下 所以,本题的整体代码就为
!@#¥%……&*()
注意用Python转换完8进制后需要切片 然后正常转换即可
什么是ACGO
分析 > 题目 给定一个十进制整数 nnn,首先将其转换为八进制表示,接着将所得的八进制表示直接视为十六进制数,最后将该十六进制数转换为十进制数并输出结果。 > 数据范围 1≤n≤1001≤n≤1001≤n≤100 本题考察:进制转换 我们首先通过 sstream 库将 nnn 视为八进制数传入,传出时视为十六进制数,再传输到结果变量里输出。这么说可能比较不准确,建议直接看代码。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 代码 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2024年12月8日 版本1
一只Merry
T6:跳转链接 这道题输入一个十进制数,将他转为8进制数,再按16进制数转化为10进制数,再输出: 思路: 八进制:将这个数数位分离(除8取余,逆序排列) 十六进制:数位分离,第i位数a[i]让结果增加a[i] * (16,i-1)
西域春.
T6 先把十进制数 nnn 转化为八进制数存在一个集合里面,然后在把那个集合的数看作十六进制数,然后只要按照十六进制转十进制的方法转化一次即可。
桌子乱的反义词
#include<bits/stdc++.h> using namespace std; int main(){ int n,o=0,x=1,h=o; cin>>n; while(n){ o+=n%8x; x=10; n/=8; } int g=0; while(o){ h+=(o%10)*pow(16,g); g++; o/=10; } cout<<h; return 0; }
138****3934