우주 무적 덧셈 기
5047 단어 알고리즘미 소녀 에 게 보 내 는 무대 위의 시리즈.
지구 인 들 은 십 진법 을 사용 하 는 습관 이 있 고, 기본적으로 한 숫자의 모든 사람 은 십 진법 이다.그리고 PAT 스타 들 이 걸 어 놓 은 세계 에서 모든 숫자의 한 분 한 분 은 서로 다른 진법 으로 되 어 있 는데 이런 신기 한 숫자 를 'PAT 수' 라 고 부른다.PAT 별 마다 여러분 의 숫자 를 기억 해 야 합 니 다. 예 를 들 어 '... 0527' 은 최 하위 가 7 진수, 2 위 가 2 진수, 3 위 가 5 진수, 4 위 가 10 진수 등 입 니 다.각 비트 의 진수 d 또는 0 (10 진법 표시) 또는 [2, 9] 구간 내의 정수.이론 적 으로 이 진 제 표 는 무한 여러 자리 의 숫자 를 포함해 야 하지만 실제 응용 에서 출발 하여 PAT 스타 들 은 보통 20 위 권 만 기억 하면 충분 합 니 다. 앞으로 여러분 은 기본적으로 10 진법 입 니 다.
이런 디지털 시스템 에 서 는 간단 한 덧셈 연산 도 쉽 지 않다.예 를 들 어 대응 하 는 진 표 '0527' 은 '6203 + 415' 를 어떻게 계산 해 야 합 니까?우 리 는 먼저 최저 위 를 계산 해 야 한다. 3 + 5 = 8;최 하위 가 7 진법 이기 때문에 우 리 는 1 과 1 의 진 위 를 얻 었 다.2 위 는 0 + 1 + 1 (진) = 2;이 자 리 는 2 진법 이기 때문에 우 리 는 0 과 1 개의 진 을 얻 었 다.3 위 는: 2 + 4 + 1 (진) = 7;이 자 리 는 5 진법 이기 때문에 우 리 는 2 와 1 개의 진 을 얻 었 다.4 위 는: 6 + 1 (진) = 7;이 분 은 10 진법 이기 때문에 우 리 는 7 을 얻 을 수 있 습 니 다.마지막 으로 우 리 는 6203 + 415 = 7201 을 얻 었 다.
입력 설명:
입력 은 먼저 첫 줄 에 N 비트 의 진 표 (0 < N ≤ 20) 를 제시 하여 차 로 돌아 가 는 것 으로 끝 납 니 다.이 어 두 줄 은 줄 마다 N 자 리 를 넘 지 않 는 마이너스 가 아 닌 PAT 수 를 준다.
출력 설명:
한 줄 에 두 개의 PAT 수의 합 을 출력 합 니 다.
코드
#include
#include
char s[25];
char a[25],b[25],c[25];
int f1(char c)
{
if(c=='0')
return 10;
else
return c-'0';
}
int reverse(char *s)
{
int len=strlen(s);
char t;
for(int i=0,j=len-1;ireturn len;
}
void ca(char *a,char*b)
{
reverse(s);
memset(c,'0',25);
int len1=reverse(a);
int len2=reverse(b);
a[len1]='0';
b[len2]='0';
int max=len1>len2?len1:len2;
int sum=0;
for(int i=0;i'0'+b[i]-'0'+sum)%(int)f1(s[i])+'0';
sum=(a[i]-'0'+b[i]-'0'+sum)/f1(s[i]);
// printf("%d----
",sum);
}
if(sum!=0)
{
c[max]=sum+'0';
max+=1;
}
c[max]='\0';
int len=reverse(c);
int index=0;
while(c[index]=='0') index++;
for(;indexindex++)
printf("%c",c[index]);
printf("
");
}
int main()
{
memset(a,'0',25);
memset(b,'0',25);
gets(s);
gets(a);
gets(b);
ca(a,b);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.