2474 - 任意进制的整数转换成十进制数(1935)
输入任意进制的整数(长整型),要求转换成十进制数并输出。
Input
输入两个数,a,表示任意进制的整数,N,表示进制。
Output
输出a和十进制数。
Examples
Input
100110 2
Output
38
Solution 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; }
Solution 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; }