//N进制到十进制
#include <stdio.h>
#include <string.h>
#define N 8
int NToDec1(const char *a, int len, int base);
int NToDec2(const char *a, int len, int base);
int main()
{
char number_oc[20];
gets(number_oc);
int sum = 0;
int len = strlen(number_oc);
sum = NToDec2(number_oc, len, N);
printf("%d\n", sum);
return 0;
}
//从左往右取值
int NToDec1(const char *a, int len, int base)
{
int sum = 0;
for(int i = 0; i < len; i++)
{
//主要
if(a[i] >= 'a' && a[i] <= 'z')
sum = sum * N + a[i] - 'a' + 10;
else if(a[i] >= 'A' && a[i] <= 'Z')
sum = sum * N + a[i] - 'A' + 10;
else
sum = sum * N + a[i] - '0';
}
return sum;
}
//从右往左取值
int NToDec2(const char *a, int len, int base)
{
int sum = 0;
int weight = 1;
for(int i = len - 1; i >= 0; i--)
{
//主要
if(a[i] >= 'a' && a[i] <= 'z')
sum += (a[i] - 'a' + 10)*weight;
else if(a[i] >= 'A' && a[i] <= 'Z')
sum += (a[i] - 'A' + 10)*weight;
else
sum += (a[i] - '0')*weight;
weight *= base;
}
return sum;
}