列表

详情


NC54578. 进制转换

描述

已知一个十进制数x,现在要你把它转换为k进制数并且输出。

输入描述

输入仅一行包含两个整数分别为x和k。

输出描述

输出一个数,表示x的k进制。(不能包含前导零)

示例1

输入:

3 2

输出:

11

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C(gcc 7.5.0) 解法, 执行用时: 2ms, 内存消耗: 364K, 提交时间: 2023-05-08 21:42:45

#include<stdio.h>
int main()
{
    int x,k,i,a[100];
    scanf("%d %d",&x,&k);
    for(i=0;x;i++){
        a[i]=x%k;
        x=x/k;
    }
    for(i=i-1;i>=0;i--){
        printf("%d",a[i]);
    }
}

C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 516K, 提交时间: 2023-01-15 15:37:43

#include<iostream>
using namespace std;
int main(){
	int a[100],i=0,m,k;
	cin >> m;
	cin >> k;
	while(m){
		a[i]=m%k;
		m = m/k;
		i++;
	}
	i--;
	for(;i>=0;i--){
		cout << a[i];
	}
}

C 解法, 执行用时: 2ms, 内存消耗: 344K, 提交时间: 2023-04-03 19:55:09

#include<stdio.h>
int main()
{
int n,k,i,a[100];
scanf("%d%d",&n,&k);
for(i=0;n;i++)
{
    a[i]=n%k;
    n=n/k;
}
for(i=i-1;i>=0;i--)
    printf("%d",a[i]);
return 0;
}

Python3 解法, 执行用时: 42ms, 内存消耗: 4596K, 提交时间: 2022-04-12 22:12:42

a,b=map(int,input().split())
list=[]
while a!=0:
    list.append(a%b)
    a=a//b
list.reverse()
for i in list:
    print(i,end="")

上一题