1474 十进制转m进制——http://codevs.cn/problem/1474/

第一部分:题目

题目描述 Description

将十进制数n转换成m进制数 m<=16

n<=100

输入描述 Input Description

共一行

n和m

输出描述 Output Description

共一个数

表示n的m进制

样例输入 Sample Input

样例1:10 2

样例2:100 15

样例输出 Sample Output

样例1:1010

样例2:6A

第二部分:思路

十进制转换成其他进制:反向取余法。

反向取余法定义:

例如把n转换成m进制:

1,用n/m,得余数r,存入数组,执行步骤2;

2,如果n/m等于0的话,数组中的数反向输出就是n的m进制,(需要注意的是当进制为11~16的时候,10~15对应于:A,B,C,D,E,F.)

如果n/m不等于0,继续执行步骤1.

第三部分:代码

#include<stdio.h>
int main()
{
    int n,m,i,s[10],len=0;
    scanf("%d %d",&n,&m);
    while(n)
    {
        s[len++]=n%m;
        n/=m;
    }
    for(i=len-1;i>=0;i--)
    {
        switch(s[i])
        {
            case 15:
                {
                    printf("F");
                    break;
                }
            case 14:
                {
                    printf("E");
                    break;
                }
            case 13:
                {
                    printf("D");
                    break;
                }
            case 12:
                {
                    printf("C");
                    break;
                }
            case 11:
                {
                    printf("B");
                    break;
                }
            case 10:
                {
                    printf("A");
                    break;
                }
            default:
                {
                    printf("%d",s[i]);
                    break;
                }
        }
    }
    printf("\n");
    return 0;
}
时间: 2024-11-09 03:41:39

1474 十进制转m进制——http://codevs.cn/problem/1474/的相关文章

-&gt;code vs 1474 十进制转m进制

1474 十进制转m进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=100 输入描述 Input Description 共一行 n和m 输出描述 Output Description 共一个数 表示n的m进制 样例输入 Sample Input 样例1:10 2 样例2:100 15 样例输出 Sample Output 样例1:1010 样例2:6

1474 十进制转m进制

题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=100 输入描述 Input Description 共一行 n和m 输出描述 Output Description 共一个数 表示n的m进制 样例输入 Sample Input 样例1:10 2 样例2:100 15 样例输出 Sample Output 样例1:1010 样例2:6A 数据范围及提示 Data Size & Hint 用反向取余法 反向取余用栈来写极方便的. 附AC代码: 1 #incl

【进制转换】codevs 1474 十进制转m进制

1 #include<cstdio> 2 using namespace std; 3 int n,m,res,a[101],en; 4 int main() 5 { 6 scanf("%d%d",&n,&m); 7 while(n) 8 { 9 a[++en]=n%m; 10 n/=m; 11 } 12 for(int i=en;i>0;i--) 13 { 14 if(a[i]<10) printf("%d",a[i]);

Java基础知识强化106:Java中如何实现十进制到其他进制的转换

下面是示例代码,我们直接通过JDK工具库中的方法实现的,如下: 1 package com.himi.radix; 2 3 4 /** 5 * Java中如何实现十进制到其他进制的转换 6 * @author hebao 7 * 8 */ 9 public class IntegerToOther { 10 11 public static void main(String[] args) { 12 int n = 14; 13 //十进制转成十六进制: 14 String n0 = Integ

十进制与其他进制之间的相互转换

一.各进制转换为十进制 int Integer.parseInt(String s,int radix);方法用途: parseInt("0", 10) 返回 0 parseInt("473", 10) 返回 473 parseInt("-0", 10) 返回 0 parseInt("-FF", 16) 返回 -255 parseInt("1100110", 2) 返回 102 parseInt("

十进制转任意进制数

//十进制转任意进制 #include <iostream> #include <stack> using namespace std; int main() { int T; int n, a, p; cin >> T; while (T--) { stack<int> s; //n 为十进制,p为要转换的进制 cin >> n >> p; while (n) { a = n % p; s.push(a); n /= p; } wh

codevs http://www.codevs.cn/problem/?problemset_id=1 循环、递归、stl复习题

12.10高一练习题 1.要求: 这周回顾复习的内容是循环.递归.stl. 不要因为题目简单就放弃不做,现在就是练习基础. 2.练习题: (1)循环   题目解析与代码见随笔分类  NOI题库 http://noi.openjudge.cn/ch0106/    10-15题 http://noi.openjudge.cn/ch0105/     37-45题 http://noi.openjudge.cn/ch0107/     28-35题 (2)递归   题目解析与代码见随笔分类 递归 h

十进制到-2进制的转换

将十进制数转换成-2进制数:比如-13=1*1+1*(-2)+1*4+0*(-8)+1*16+1*(-32)==110111; string decitominus2(int num) { string result; while(num) { if(num%(-2)<0) { result.insert(result.begin(),'1'); num=num/(-2)+1; } else { result.insert(result.begin(),num%(-2)+'0'); num=nu

python常用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

进行协议解析时,总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上,直接上例子 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 16进制转10进制: int('0x10', 16)  ==>  16 类似的还有oct(), bin() ------------------- 字符串转整数: 10进制字符串: int('10')  ==>  10 16进制字符串: int('10', 16)  ==>  16 16进