Module: (C++) 정수 나누기와 나머지


Problem

8 /16


숫자 자릿수

Theory Click to read/hide

숫자의 자릿수 계산

나눗셈의 나머지를 계산하는 작업을 적용해야 하는 필요성은 숫자의 자릿수로 작업할 때 볼 수 있습니다. 
 
과제
세 자리 숫자가 주어집니다. 이 숫자의 모든 자릿수를 표시하고 단위와 백을 치환하여 형성된 새 숫자를 얻습니다.

초보자에게 발생하는 가장 어려운 질문은 숫자를 구성 자릿수로 나누는 방법입니다.
사실, 수학을 기억한다면 모든 것이 아주 간단하게 해결됩니다. 그리고 수학은 모든 숫자가 숫자 항의 합으로 분해될 수 있음을 알려줍니다.
예: 365=3*100+6*10+5*1 . 우리는 각 숫자가 해당 숫자의 배수임을 알 수 있습니다. 
숫자의 각 자릿수를 별도의 변수로 가져오는 방법을 보여드리겠습니다. 분할 절차를 고려하십시오  숫자 365의 열과 숫자 10  (우리는 십진법을 사용하기 때문에 숫자 10을 사용하므로 숫자 용어 1, 10, 100 등이 있습니다).
  

그림을 분석한 후 다음을 확인할 수 있습니다.
  e = n% 10; // 연산 n % 10 - 숫자 n의 마지막 자리(즉, 단위 자리)를 계산합니다.   // 365% 10 = 5 d = n/10% 10; // 연산 n / 10 - 숫자를 10배로 줄이고,   // 즉, 숫자의 마지막 자리를 버리고(365 / 10 = 36), // 이제 익숙한 연산을 결과에 적용하여 십의 자리를 계산할 수 있습니다.   // - 숫자 10으로 나눈 나머지를 계산, 36% 10 = 6 s = n/100; // 백 자리를 얻으려면 숫자 오른쪽에서 두 자리를 버리면 충분합니다.   // 즉, 10으로 두 번 나누기 (n / 10 /10 또는 n / 100과 같음) 365 / 100 = 3
숫자의 모든 숫자를 받으면 원하는 숫자에 해당 숫자를 곱하여 다른 숫자를 만들 수 있습니다. & nbsp; 예를 들어, 아래 줄은 원래 숫자 n에서 백과 일이 재정렬된 새 숫자를 가져옵니다.
1) 단위 수(변수 e에 저장됨)  곱하기 100
2) 10자리 숫자(변수 d에 저장됨)  10; < br /> 3) 우리는 단순히 백의 자리에 1을 곱하거나 단순히 s 변수에 저장된 값을 취할 수 있습니다.
그런 다음 포인트 1, 2 및 3의 값을 추가해야 하며 새 숫자를 얻습니다. n1 = e * 100 + d * 10 + s; 전체 프로그램은 다음과 같습니다.
  #includeiostream> 네임스페이스 표준 사용; 기본() { 정수 n, e, d, s; cin>> N; e = n% 10; d = n/10% 10; s = n/100; cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s); }

Problem

세 자리 숫자가 주어졌을 때 그 숫자의 합과 1과 10을 치환하여 생성된 새로운 숫자를 출력하는 프로그램을 작성하세요.

입력
세 자리 숫자는 키보드에서 입력됩니다.

출판물 
한 줄에 공백으로 구분된 두 개의 숫자: 먼저 숫자의 자릿수 합, 그 다음 문제의 조건에 따라 변환된 숫자.


예시
<헤드> <일># <몸>
입력 출력
1 365 14,356