1474 十進位制轉m進位制+1475 m進位制轉十進位制

Summer先生_發表於2014-10-11
#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
	//freopen("in.txt","r",stdin);
	int n,m;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		int a[100];
		int i;
		for (i = 0; n > 0 ; ++i)
		{
			a[i]=n%m;
			n/=m;
		}
		for (i--;i >=0 ; i--)
		{
			if (a[i]<10)
			{
				printf("%d",a[i] );
			}else
			{
				printf("%c\n",'A'+a[i]-10 );
			}
			
		}
		printf("\n");
	}
	return 0;
}
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;

int main()
{
	//freopen("in.txt","r",stdin);
	int m;
	int i;
    char n[50];
    scanf("%s",n);
    scanf("%d",&m);
    int sum=0;
    int len=strlen(n);
    for (i =0; n[i]!='\0'; i++)
    {
    	if (n[i]>='A'&&n[i]<='Z')
    	{
    		sum+=(n[i]-'A'+10)*pow(m,len-1-i);
    	}
    	else
    	{
            sum+=(n[i]-'0')*pow(m,len-1-i);
    	}

    }
    printf("%d\n",sum);
	return 0;
}


相關文章