HDU 또 1 판 A + B

제목: 정형 정 의 를 초과 하지 않 는 마이너스 10 진수 A 와 B (< = 231 - 1), 출력 A + B 의 m (1 < m < 10) 진 수 를 입력 하 십시오.
http://acm.hdu.edu.cn/showproblem.php?pid=1877
// LANG: C++
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//http://acm.hdu.edu.cn/showproblem.php?pid=1877
//              10    A B(<=231-1),  A+B m (1 < m <10)   。
//    ,base   
void work(unsigned int num, int base)
{
	char str[40] = {0};
	int i = 0;
	//        0
	if (!num)
	{
		printf("0
"); return ; } while (num) { str[i++] = num % base + '0'; num /= base; } --i; while (i >= 0) putchar(str[i--]); putchar('
'); } // ,num= ,base ,buffer void work2(unsigned int num, int base,char* buffer) { char str[40] = {0}; int i = 0; int j=0; // 0 if (!num) { printf("0
"); return ; } while (num) { str[i++] = num % base + '0'; num /= base; } --i; while (i >= 0) { buffer[j++]=str[i--]; } //printf("%s
",buffer); } // 2 1 7 int main(int argc, char **argv) { unsigned int base, left, right; while (1) { scanf ("%u", &base); if (!base) break; scanf("%u %u", &left, &right); left += right; char* buffer; buffer=(char*)malloc(sizeof(char*)*1024); memset(buffer,0,sizeof(char*)*1024); work2(left, base,buffer); printf("%s
",buffer); } return 0; }

좋은 웹페이지 즐겨찾기