2474 - 任意进制的整数转换成十进制数(1935)
时间限制 : 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; }