入门模拟——(进制转换)B1022.D进制的A+B

#include <bits/stdc++.h>
#include<math.h>
using namespace std;
const int MAX_LEN = 100005;
const int MAX_D = 31;
int main(){
    int a,b,n;
    cin>>a;
    cin>>b;
    int temp = a+b;
    cin>>n;
    int result[MAX_D];
    int num = 0;
    do{
        result[num++] = temp % n;
        temp =  temp / n;
    }while(temp != 0);12 12
    for(int i = num-1;i>=0;--i){
        cout<<result[i];
    }
    system("pause");
    return 0;
} 

原文地址:https://www.cnblogs.com/JasonPeng1/p/12129531.html

时间: 2024-11-09 00:36:34

入门模拟——(进制转换)B1022.D进制的A+B的相关文章

PAT-进制转换-B1022 D进制的A+B (20分)

题目描述: 输入两个非负10进制整数A和B(≤230-1),输出A+B的D(1<D≤10)进制数. 输入格式: 输入在一行中依次给出3个整数A.B和D. 样例: 输入:123 456 8 输出:1103 思路: 先计算A+B的值,然后再将其转换为D进制.可使用“除基取余法”. 注意点: A+B的范围在int范围内 最好使用do···while语句.使用while语句要特判A+B等于0的情况 存储A+B%D的数组要从高位到低位进行输出 代码: 1 #include<iostream> 2

10进制转换成8进制

package cast; import java.util.Collections;import java.util.LinkedList;import java.util.List; public class Cast {    //测试    public static void main(String[] args) {        int a = Cast.castNum(100);        System.out.println(a);            }        

24小时进制转换12小时进制的小程序

class Program { static void Main(string[] args) { //24小时进制转换12小时进制的程序 Console.WriteLine("请输入24小时进制中的任意整点时间"); int time = Convert.ToInt32(Console.ReadLine()); string cha = time > 12 ? (time - 12) + "PM" : time + "AM"; Conso

进制转换(负进制) Luogu 1017

最近匆忙刷题,突然发现自己数学废掉了 ,居然忘了进制转换了QAQ~,后来我身边的王大佬又教了我一遍. 进制转换多数用的是短除法(别人是这么叫的),就是除以进制数后,记录余数,一直除到零为止,然后把记录的余数倒序输出,10及以上的用A.B等字母表示.然而如果遇到负进制(******),就应考虑到余数为负数的情况,例如:-3 mod -2 = -1 ,这时,就应该给这个余数加上进制数的绝对值,同时将整除得到的数加上现在的余数,为了保证计算的正确性,因为我们给余数加了进制数,就相当于做除法时 被除数

进制转换(各进制的原理)

二进制 一个字节等于8个二进制数 0       0    0    0   0  0  0  0 1       1    1    1   1  1  1  1 128  64  32  16  8  4  2   1 1代表有,0代表没有,从右往左看,八个二进制数分别代表了1,2,4,8,16,32,64,128.这8个二进制组合可以代表1~256当中的任何一个数字(所有都是1的话加起来就是256,所有都是0的话加起来就是0.  1~256当中任何一个数字都可以从中表示出来).这256个字

汇编语言程序:16进制转换成10进制(三种方法)

1 ;天水浪客(Gouki Jiang) , 16进制to10进制例题 2007.5.18 2 STACK SEGMENT PARA STACK 3 S_AREA DW 100H DUP(?) 4 S_TOP EQU $-S_AREA 5 STACK ENDS 6 7 DATA SEGMENT PARA 8 VALUE DW 0EB9AH ;060314 9 RESULT DB 5 DUP(?),'$' 10 DATA ENDS 11 12 CODE SEGMENT PARA 13 ASSUME

Java中将10进制转换成16进制

import java.util.Scanner; public class Decimal2HexConversion {     public static void main(String[] args){         Scanner input = new Scanner(System.in);         System.out.print("输入一个十进制数: ");         int decimal = input.nextInt();         Sys

用if语句把24小时制转换成12小时制

public class yunsuanfu { public static void main(String[] arg){ double t=2; int h=38; int m=100; int s=100; if(s>60){ m=(s/60)+m;s=s%60; } if (m>60){ h=(m/60)+h;m=m%60; } if(h>12){ t=t+(0.5*(h/12));h=h%12; } System.out.println(t+"天"+h+&

计算机进制转换

一.计算机只认识0和1,二进制. 二.2进制转换成 8进制 和 16进制,如下图: 二进制 > 八进制 :  研究上图发现,3位最高二进制可以用来表示一位八进制.所以,将二进制分解每3位,不够前面补0,然后每3位转换为10进制,顺序排列即可. 二进制 > 十六进制  :4位最高二进制可以用来表示一位十六进制.所以,将二进制分解每4位,不够前面补0,然后每4位转换为10进制,超过9用字母表示即可.顺序排列即可. 如下: 二进制 > 十进制:   11001001 = 2^7+2^6+2^3

九度oj 题目1080:进制转换

题目描述: 将M进制的数X转换为N进制的数输出. 输入: 输入的第一行包括两个整数:M和N(2<=M,N<=36). 下面的一行输入一个数X,X是M进制的数,现在要求你将M进制的数X转换成N进制的数输出. 输出: 输出X的N进制表示的数. 样例输入: 16 10 F 样例输出: 15 提示: 输入时字母部分为大写,输出时为小写,并且有大数据. 这题初看起来另我头疼,考虑不难但是很麻烦 一开始想的比较绕,准备先把任意进制转换成10进制,再转化成n进制,于是写出了下面的代码 1 #include