1 条题解

  • 0
    @ 2025-4-7 21:19:28

    C :

    #include <stdio.h>
    #include <stdlib.h>
    void numchange(unsigned int m,unsigned int num)
    {
    
    	unsigned int u,v,count = 0;
    	int i;
    	char *p = (char *)malloc(sizeof(char));
    	if(num == 0)
    	{
    		printf("0\n");
    	}
    	else
    	{
    		while(num)
    		{
    			
    			v = num % m;
    			u = num / m;
    			*(p+count) = v + '0';
    			num = u;	
    			count ++;
    			p = (char *)realloc(p,sizeof(char)*(count+1));
    		}
    		*(p+count) = '\0';
    		for(i=count-1;i>=0;i--)
    		{
    			printf("%c",*(p+i));
    		}
    		printf("\n");
    		free(p);		
    	}
    
    }
    int main(void)
    {
    	unsigned int m;
    	unsigned int A,B;
    	scanf("%d",&m);
    	while(m)
    	{
    		scanf("%u%u",&A,&B);
    		numchange(m,A+B);
    		scanf("%u",&m);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    void change(long long s,long long m)
    {
    	if(s)
    	{
    		change(s/m,m);
    		printf("%lld",s%m);
    	}
    }
    
    int main()
    {
    	long long a,b,m,s;
    	while(scanf("%lld",&m),m)
    	{
    		scanf("%lld%lld",&a,&b);
    		s=a+b;
    		if(s==0)
    			printf("0");
    		else
    			change(s,m);
    		printf("\n");
    	}
    	return 0;
    }
    
    • 1

    信息

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