2474 - 任意进制的整数转换成十进制数(1935)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

输入任意进制的整数(长整型),要求转换成十进制数并输出。

题目输入

输入两个数,a,表示任意进制的整数,N,表示进制。

题目输出

输出a和十进制数。

输入/输出样例

输入格式

100110 2

输出格式

38

C语言解答

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a, N;
    while(scanf("%d%d",&a,&N) != EOF) {
        int Q = a;
        int A[40], sum = 0;
        while(Q > 0) {
            int MOD = Q % 10;
            A[sum++] = MOD;
            Q /= 10;
        }
        int ans = 0;
        for(int i = 0,j = 1;i < sum; i++) {
            ans += A[i] * j;
            j *= N;
        }
        printf("%d\n",ans);
    }
    return 0;
}

C++解答

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string s;
	int n;
	cin>>s>>n;
	int len=s.size(),ans=0;
	for (int i=0; i<len; i++)
		if (s[i]>'9') ans=n*ans+s[i]-'A'+10;
		else ans=n*ans+s[i]-'0';
	cout<<ans<<endl;
	return 0;	
}