首页 > 试题广场 >

小乐乐与进制转换

[编程题]小乐乐与进制转换
  • 热度指数:27015 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。


输入描述:

输入一个正整数n  (1 ≤ n ≤ 109)



输出描述:
输出一行,为正整数n表示为六进制的结果
示例1

输入

6

输出

10
示例2

输入

120

输出

320
#include<stdio.h>
void zhuanhuan(int x)
{
if(x>5)
{
   
zhuanhuan(x/6);
 printf("%d",x%6);
}
else
    printf("%d",x%6);
}
int main()
{
int n=0;
scanf("%d",&n);
zhuanhuan(n);


    return 0;
}
发表于 2024-08-11 00:55:48 回复(0)
!!!有无大佬帮看看!!!!,VS(2022)上就可以,到这就不好使了
#include <stdio.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
#define JZ 6
int o(int x) //算最大次方位
{
    while (1)
    {
        int n = rand() % 20;
        if (pow(JZ, n + 1) > x && pow(JZ, n) <= x)
        {
            return n;
        }
    }

}
int p(int o, int x)//算最大次方位,填几
{
    while (1)
    {
        int n = rand() % 10;
        if (pow(JZ, o) * (n + 1) > x && pow(JZ, o) * (n) <= x && n!=0)
        {
            return n;
        }
    }
}
int main()
{
    srand((unsigned int)time(NULL));
    int n = 0;
    int a, b;
    
    int i = 0;
    scanf("%d", &n);
    int c = o(n);
    int arr[] = { 0 };
    for (i = 0; i <= c; i++)
    {
        arr[i] = 0;
    }
    while (n)
    {
        a = o(n);
        
        //printf("%d ", a);
        b = p(a, n);
       // printf("%d\n", b);
        arr[a] = b;          //数组 存放a这个次方位的值
        n = n - b * pow(JZ, a);
    }
   
    for (i = c; i >= 0; i--)
    {
        printf("%d", arr[i]);
    }
    return 0;
}

发表于 2024-07-30 10:54:17 回复(1)
#include <stdio.h>

int main() {
    int n=0;
    scanf("%d",&n);
    int arr[100];
    int count=0;
    while(n){
        arr[count++]=n%6;
        n/=6;
    }
    for(int i=count-1;i>=0;i--){
        printf("%d",arr[i]);
    }
    return 0;
}

发表于 2024-07-17 16:33:37 回复(0)
#include <stdio.h>

int main() {
    char a[15];
    int i = 0;
    int n = 0;
    scanf("%d", &n);
    int Hexadecimal = 6;  
    while (n) {
        //余数存放到字符串中,在从后向前打印字符串
        *(a + i) = n % Hexadecimal;
        n /= Hexadecimal;
        i++;
    }
    //打印余数组成的字符串,但字符串是反过来的,因为要打印为0的位置i可以为0
    while (i-- && i >= 0) {
        printf("%d", *(a+i));
    }
    return 0;
}

发表于 2024-06-19 01:36:07 回复(0)
#include <stdio.h>
int main() {
    long long int n=0;
    long long int m=1;
    long long int q=0;
    scanf("%lld",&n);
    while(n)
    {
        q=(n%6)*m+q;
        n=n/6;
        m*=10;
    }
    printf("%lld",q);
    return 0;
}
发表于 2024-04-29 23:24:27 回复(0)
#include <stdio.h>

int main() 
{
    int a = 0;
    int six[] = {0, 1, 2, 3, 4, 5};
    int aSix[10] = {0};
    int i = 0;
    int sz = 0;

    scanf("%d", &a);

    for(i = 0; a != 0; i++)
    {
        aSix[i] = six[a % 6];
        a /= 6;
        sz++;
    }

    for(i = sz - 1; i != -1; i--)
    {
        printf("%d", aSix[i]);
    }

    return 0;
}

发表于 2024-03-20 15:16:53 回复(0)
#include <stdio.h>

int main() {
    int n=0;
    int i=0;
    int arr[40]={0};
    scanf("%d",&n);
    while(n){
        arr[i]=n%6;
        i++;
        n/=6;
    }
    for(i--;i>=0;i--){
        printf("%d",arr[i]);
    }
    return 0;
}

编辑于 2024-02-03 17:07:54 回复(0)
#include <stdio.h>

int main() {
    int n, a[10] = {0}, i=0;
    scanf("%d", &n);
    while(n){
        a[i] = n % 6;
        n = n / 6;
        i++;
    }
    for(int x=i-1; x>=0; x--){
        printf("%d", a[x]);
    }
    return 0;
}
编辑于 2024-01-22 18:29:40 回复(0)
#include <stdio.h>

int main() {
    int a, b[10],i=0;
    scanf("%d",&a);
    do{
        b[i++]=a%6;
    }while((a/=6)!=0);
    for(int j=i-1;j>=0;j--){
        printf("%d",b[j]);
    }
    return 0;
}
编辑于 2024-01-12 15:28:38 回复(0)
#include <stdio.h>
#include <math.h>
int main() {
    long n =0;
    long sum =0;
    long i=0;
    scanf("%ld",&n);
    while(n)
    {    
        sum+=n%6*pow(10,i);
        n/=6;
        i++;
    }
    printf("%ld",sum);
    return 0;
}
发表于 2023-09-16 19:06:54 回复(0)
#include <stdio.h>
#include <math.h>

int main() {
    int n = 0;
    scanf("%d", &n);
    int arr[11] = {0};
    int i = 0;
    int j = 0;
    int count = 0;
    while(n)
    {
        arr[i] = n % 6;
        j = n /6;
        n = j;
        i++;
        count++;
    }
    for(i = count - 1; i >= 0; i--)
    {
        printf("%d", arr[i]);
    }

    return 0;
}
发表于 2023-04-08 15:25:27 回复(0)
#include <stdio.h>
//思路是将取6的余依次放在一个数组中,然后逆序输出
int main() 
{
    int n,a[20],i=0,j;
    scanf("%d", &n);
    while(n !=0)
    {
        a[i] = n%6;
        n /= 6;
        i++;
    }
    for(j = i-1;j >= 0;j--)
    {
        printf("%d", a[j]);
    }
    return 0;
}
发表于 2023-04-02 10:43:11 回复(0)
#include <stdio.h>

int main() {
    long n, arr[10], i = 0, sum = 0;
    while (scanf("%ld", &n) != EOF) {
        while (n) {
            arr[i] = n % 6;
            n /= 6;
            i++;
        }

        for (int j = i - 1; j >= 0; j--) {
            printf("%ld", arr[j]);
        }
    }
    return 0;
}
发表于 2023-02-27 15:40:35 回复(0)
#include <stdio.h>
void pushStack(int x, int* arr, int* Pointer)
{
    arr[*Pointer + 1] = x;
    (*Pointer)++;
}
int popStack(int* arr, int* Pointer)
{
    (*Pointer)--;
    return arr[*Pointer + 1];
}
int main() {
    int n;
    scanf("%d\n", &n);
    int stack[20];
    int Pointer = -1;
    while (n != 0)
    {
        pushStack(n % 6, stack, &Pointer);
        n /= 6;
    }
    while (Pointer >= 0)
    {
        printf("%d", popStack(stack, &Pointer));
    }
}
//用栈或者递归都可以实现逆序输出

发表于 2023-02-25 00:20:49 回复(0)
#include <stdio.h>

int main() {
    long long int n;
    while(scanf("%lld",&n)!=EOF)
    {
        if(n<6)
            printf("%lld",n);
        else
        {
            int count=0,arr[1000];
            int j,i=1;
            while(n)
                {
                    arr[i]=n%6;
                    n = n/6;
                    count++;
                    i++;
                }
            for(j=count;j>0;j--)
                printf("%d",arr[j]);//倒序输出
                count--;
        }
    }
    return 0;
}
发表于 2022-12-17 19:42:33 回复(0)
#include <stdio.h>
#include <math.h>

int main() {
    long long int n,output=0;
    int i=0;
    scanf("%lld", &n);
    while(n)
    {
        output=output+(n%6)*pow(10,i);
        n/=6;
        i++;
    }
    printf("%lld\n",output);
    return 0;
}

发表于 2022-11-12 10:00:45 回复(0)
#include <stdio.h>

void print(int m)
{
    if(m/6==0)
    {
        printf("%d",m%6);
    }
    else
    {
        print(m/6);
        printf("%d",m%6);
    }
}
int main() {
    int a=0;
    scanf("%d",&a);
    print(a);
    return 0;
}
发表于 2022-10-18 09:16:15 回复(0)
#include <stdio.h>
#include <math.h>
int main() {
    long long int a,sum;
    int b,x=0;
    while (scanf("%lld", &a) != EOF) { 
        b=0;sum=0;x=0;
        while(1){
            b=a%6;
            a=a/6;
            sum=sum + pow(10,x)*b;
            if(a==0)
                break;
            x++;
        }
        printf("%lld\n",sum);
    }
    return 0;
}
发表于 2022-09-27 20:24:45 回复(0)
#include <stdio.h>
int main()
{
    long a;
    scanf("%ld",&a);
    long i=1;
    long n=6;
    long sum=0;
    while(a/6!=0||a%6!=0)
    {
        sum=sum+(a%6)*i;
        a=a/6;
        i=i*10;
    }
    printf("%ld",sum);
    return 0;
}

发表于 2022-09-13 22:33:14 回复(0)