SCUT Training 20170920 Problem E

来源:互联网 发布:split赋值给数组 编辑:程序博客网 时间:2024/06/05 08:06

原题:http://acm.hdu.edu.cn/showproblem.php?pid=2031


思路:

之前的题解有类似的题,注意负数和数据范围就可以了


源代码

#include <cstdio> int m[1001]={};int k,p=0;__int32 a;bool flag=false;int check(){    if (p==0 && m[1]==0) return 1; else return 0;}int main(){    while (~scanf("%d%d",&a,&k))    {        flag=false;        p=0;        if (a<0)        {            a=0-a;            flag=true;        }        while (a!=0)        {            p++;            m[p]=a%k;            a=a/k;        }        if (check())        {            printf("0\n");            continue;        }        if (flag) printf("-");        for (int i=p;i>=1;i--)        {            if (m[i]>9) printf("%c",(char)(m[i]+55));            else printf("%d",m[i]);        }        printf("\n");    }}