zoukankan      html  css  js  c++  java
  • 十进制数转化为D进制数

    【PAT B1022】
    输入两个非负10进制整数A和B(≤2^30−1),输出 A+B 的 D (1<D≤10)进制数。

    输入格式:
    输入在一行中依次给出 3 个整数 A、B 和 D。

    输出格式:
    输出 A+B 的 D 进制数。

    输入样例:

    123 456 8
    

    输出样例:

    1103
    

    思路:
    除基取余法。“基”就是要转化的进制D,将十进制数每次除以D取余数,直到商变为0为止。
    从前到后取得的余数,按低位到高位放置,然后按高位到地位输出就是最终结果。

    代码:

    #include <iostream>   
    using namespace std;
    
    int main()
    {
    	int a, b, d;
    	int sum;
    	int result[31];    //存放转换后的二进制数
    	int n = 0;    //result的位指针
    	cin >> a >> b >> d;
    	sum = a + b;
    	do
    	{
    		result[n++] = sum % d;    //取余数
    		sum /= d;    //计算商
    	} while (sum != 0);
    	for (int i = n - 1; i >= 0; --i)
    		cout << result[i];
    }
    
  • 相关阅读:
    Java基础中的一些注意点(续)
    Java基础中的一些注意点
    Java基础知识学习
    JavaScript DOM2
    JavaScript window
    函数
    JavaScript数组
    JavaScript循环练习2
    JavaScript循环练习
    JavaScript循环
  • 原文地址:https://www.cnblogs.com/banmei-brandy/p/14285961.html
Copyright © 2011-2022 走看看