Module: 정수 나눗셈과 나머지


Problem

14 /16


초보자에게 가장 어려운 질문 또는 숫자의 자릿수

Theory Click to read/hide

나눗셈의 나머지를 계산하는 작업을 적용해야 하는 필요성은 숫자의 자릿수로 작업할 때 볼 수 있습니다. 

다음 작업을 분석해 보겠습니다.
세 자리 숫자가 주어집니다. 이 숫자의 모든 자릿수를 표시하고 단위와 백을 치환하여 형성된 새 숫자를 얻습니다.

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

  

수치를 분석해보면  <예비> <코드>e := n 모드 10; // 연산 n mod 10 - 숫자 n의 마지막 자릿수(즉, 숫자 단위)를 계산합니다. 365 mod 10 = 5 d := n div 10 모드 10; // 연산 n div 10 - 숫자를 10배로 줄입니다. serif" >), // 이제 익숙한 연산을 결과에 적용하여 십의 수를 계산할 수 있습니다. 숫자 10으로 나눈 나머지를 계산합니다. 36 mod 10 = 6 s := n div 100; // 백을 얻으려면 숫자 오른쪽에서 두 자리를 버리면 충분합니다. 즉, 10으로 두 번 나누면 됩니다(n div 10 div10 또는 n div 100< /strong>) 365 div 100 = 3
저장된 숫자가 있으면 원하는 숫자에 해당 숫자를 곱하여 숫자를 만들 수 있습니다. 
예를 들어, 아래 줄은 원래 숫자 n에서 백과 일이 재정렬된 새 숫자를 가져옵니다.
1) 이전 값(변수에 저장됨 e)  곱하기 100 
2) 10의 이전 수(변수 d에 저장됨)    10 
3) 우리는 단순히 이전의 백 수에 1을 곱하거나 단순히 변수 s
에 저장된 값을 취할 수 있습니다. 그런 다음 포인트 1, 2 및 3의 값을 추가하고 새 숫자를 얻으십시오.

n1 := e * 100 + d * 10 + s;

전체 프로그램은 다음과 같습니다. <예비> var n, e, d, s: 정수; 시작하다 읽기(엔); e := n 모드 10; d := n div 10 모드 10; s := n div 100; writeln(e, ' ', d, ' ', s, ' ', e * 100 + d * 10 + s); 끝.

Problem

키보드에서 3자리 숫자를 입력합니다. 
한 줄에 공백을 구분하여 인쇄하는 프로그램을 작성하십시오.
숫자의 자릿수와 1과 10을 치환하여 형성된 새 숫자의 합