개발일지
article thumbnail

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; //각 자릿수의 합

#결과

굳이 이 방법이 아니어도 다른 방법으로도 풀 수 있는 문제이다.

 
profile

개발일지

@damin06

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!