N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고,
그 합이 최대인 자연수를 출력 하는 프로그램을 작성해보자.
각 자연수의 자릿수의 합을 구하는 함수를 int digit_sum(int x)로 작성하자.
입력 값 txt파일
맨처음숫자 3은 데이터의 수를 표현해준다.
3
125 15232 97
힌트 : 버퍼에는 줄바꿈 띄어쓰기 기준으로 들어간다.
자릿수의 합을 구하는 방법을 한번 생각해보자.
#include <stdio.h>
using namespace std;
int digit_sum(int x){
int sum = 0, tmp;
while(x>0){
tmp = x%10;
sum=sum+tmp;
x=x/10;
}
return sum;
}
int main(int argc, char** argv) {
freopen("input.txt", "rt", stdin);
int n, num, i, sum, max = -2147000000, res;
scanf("%d",&n);
for(int i = 0; i <n; i++){
scanf("%d",&num);
sum = digit_sum(num);
if(sum > max){
max = sum;
res = num;
}
}
printf("%d\n",res);
return 0;
}
'개발 소발 > 개발 알고리즘' 카테고리의 다른 글
알고리즘 - 뒤집은 소수 C++ 구현 (0) | 2019.09.06 |
---|---|
알고리즘 - 올바른 괄호 C++ 구현 (0) | 2019.09.04 |
알고리즘 - 영어단어 복구 C++구현 (0) | 2019.09.04 |
알고리즘 - 숫자만 추출 c++구현 (0) | 2019.09.04 |
알고리즘 - 진약수의 합 C++ 구현 (0) | 2019.09.04 |