C++ 数制转换
题目描述
十进制整数N向其它进制数d(二、八)的转换是计算机实现计算的基本问题。
转换法则:辗转相除逆序取余。
输入格式
一行,两个用空格隔开的整数 a 和 b。a是待转换的十进制数,b是需要转换为几进制(2或8)。
输出格式
一个整数,表示转换后的结果。
样例数据
input
1348 8
output
2504
CODE
#include#include#include#include#include#include// #pragma GCC optimize(3)#define fori(from,to) for(int i=(from);i<=(to);i++)#define forj(from,to) for(int j=(from);j<=(to);j++)#define forx(range) for(auto x:(range))#define roundup(n) ceil(floor((n)))#define rounddown(n) floor(ceil((n)))#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))using namespace std;int n[1000000];int main(){ int a,b; cin>>a>>b; int i; int flag=0; for(i=0;a!=0;i++){ n[i]=a%b; a=a/b; } for(i-=1;i>=0;i--){ cout<<n[i]; flag=1; } if(flag==0){ cout<<0; } return 0; }