10824번 - 네 수
문제
네 자연수 A, B, C, D가 주어진다. 이때, A와 B를 붙인 수와 C와 D를 붙인 수의 합을 구하는 프로그램을 작성하시오.
두 수 A와 B를 합치는 것은 A의 뒤에 B를 붙이는 것을 의미한다. 즉, 20과 30을 붙이면 2030이 된다.
입력
첫째 줄에 네 자연수 A, B, C, D가 주어진다. (1 ≤ A, B, C, D ≤ 1,000,000)
출력
A와 B를 붙인 수와 C와 D를 붙인 수의 합을 출력한다.
문제 링크
https://www.acmicpc.net/problem/10824
난이도: 브론즈 3
알고리즘 분류
- 수학
- 구현
- 문자열
- 사칙연산
C++를 사용한 풀이
#include <iostream>
//#include <cmath>
using namespace std;
long long pow(long long a, int exp){
long long answer=1;
for(int i=0;i<exp;++i){
answer*=a;
}
return answer;
}
int num_length(long long n){
long long num=n;
int count=0;
while(num>0){
count++;
num/=10;
}
return count;
}
int main(void){
int a,b,c,d;
cin>>a;
cin>>b;
cin>>c;
cin>>d;
long long answer=(long long)a*pow(10,num_length(b)) + (long long)b + (long long)c*pow(10,num_length(d)) + (long long)d;
cout<<answer;
}
댓글남기기