4041번 숫자 다루기
https://codeup.kr/problem.php?id=4041
#문제
#풀이
#include <iostream>
#include <string>
using namespace std;
int main() {
int num = 0; //자연수 N
int mun = 0; //뒤집어진 자연수
int sum = 0; //각 자릿수의 합
cin >> num; //자연수 N을 입력받는다.
int b = num;
while(b > 0)
{
int a = b % 10;
sum += a;
mun = mun * 10 + a;
b /= 10;
}
cout << mun << endl; //뒤집은 수
cout << sum << endl; //각 자릿수의 합
}
cin
cin >> num;
변수 num에다가 N을 입력받는다.
int b = num;
while(b > 0)
{
int a = b % 10;
sum += a;
mun = mun * 10 + a;
b /= 10;
}
그리고 변수 n을 num값으로 초기화시켜준다.
b가 0보다 작거나 같지 않을 때까지 반복문을 실행한다.
만약 num이 123이라면
b = 123
a는 b 나누기 10의 나머지인 3 a = 3
sum 에다가 a를 더한다. sum = 3
mun 은 mun 곱하기 10 더하기 a mun = 3
b는 b 나누기 10 b = 12
b = 12
a는 b 나누기 10의 나머지인 2 a = 2
sum 에다가 a를 더한다. sum = 5
mun 은 mun 곱하기 10 더하기 a mun = 32
b 는 b 나누기 10 b = 1
b = 1
a는 b 나누기 10의 나머지인 2 a = 1
sum 에다가 a를 더한다. sum = 6
mun 은 mun 곱하기 10 더하기 a mun = 321
b 는 b 나누기 10 b = 0
b > 0 이 아니어서 while문 종료
출력
cout << mun << endl; //뒤집은 수
cout << sum << endl; //각 자릿수의 합
#결과
굳이 이 방법이 아니어도 다른 방법으로도 풀 수 있는 문제이다.
'프로그래밍 > C++' 카테고리의 다른 글
[백준/C++] 16076번 휴식이 필요해 문제풀이 (0) | 2023.04.01 |
---|---|
[백준/C++] 2563번 색종이 문제풀이 (0) | 2023.03.20 |
[CodeUp/C++] 1226번 이번 주 로또 문제풀이 (0) | 2023.03.14 |
[CodeUp/C++] 2628 번 케익 자르기 문제풀이 (0) | 2023.03.05 |
[백준/C++] 2557번 Hello World 문제풀이 (0) | 2023.03.02 |