1 条题解

  • 0
    @ 2025-9-9 23:58:55

    C :

    #include<stdio.h>
    
    int main()
    {
    	int x,n,k,max;
    	int ch[500];
    	while(scanf("%d%d",&x,&n)==2){
    		if(x==0)printf("0");
    		max=0;
    		k=x>=0?0:1;
    		x=x>0?x:-x;
    		while(x!=0){
    			ch[max++]=x%n;
    			x/=n;
    		}
    		if(k)printf("-");
    		while(max>0){
    			max--;
    			if(ch[max]<10)
    				printf("%d",ch[max]);
    			else
    				switch(ch[max]){
    					case 10:printf("A");break;
    					case 11:printf("B");break;
    					case 12:printf("C");break;
    					case 13:printf("D");break;
    					case 14:printf("E");break;
    					case 15:printf("F");break;
    					case 16:printf("G");break;
    			}
    		}
    		printf("\n");
    
    	}
    	return 0;
    }
    

    C++ :

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <queue>
    #include <stack>
    #include <map>
    #include <algorithm>
    using namespace std;
    #define max_n 40000
    int main()
    {
    	int a[1000];
    	int n,m;
    	while(scanf("%d%d",&n,&m)!=EOF)
    	{
    		int count=0;
    		if(n<0)
    		{
    			printf("-");
    		    n=-n;
    		}
    		if(n==0)
    			a[count++]=n;
    		while(n)
    		{
    			a[count++]=n%m;
    			n/=m;
    		}
    		for(int i=count-1;i>=0;i--)
    		{
    			if(a[i]<10)
    				printf("%d",a[i]);
    			else
    			{
    				printf("%c",'A'+a[i]-10);
    			}
    		}
    		printf("\n");
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    2317
    时间
    1000ms
    内存
    64MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者