정수 나누기와 나머지
나눗셈의 나머지를 계산하는 작업을 적용해야 하는 필요성은 숫자의 자릿수로 작업할 때 볼 수 있습니다.
과제
세 자리 숫자가 주어집니다. 단위로 시작하여 이 숫자의 모든 자릿수를 표시하고 단위와 백을 치환하여 형성된 새 숫자를 얻습니다.
우리는 항상 숫자를 전체로 생각하지만 숫자는 숫자로 구성되어 있음을 잊지 마십시오. 숫자의 모든 자릿수를 어떻게 선택합니까?
사실, 수학을 기억한다면 모든 것이 아주 간단하게 해결됩니다. 그리고 수학은 모든 숫자가 숫자 항의 합으로 분해될 수 있음을 알려줍니다.
예:
365 = 3*100 + 6*10 + 5*1
.
각 숫자는 해당 비트 용어의 승수임을 알 수 있습니다.
열을 숫자 10으로 나누는 예를 사용하여 숫자의 각 자릿수를 별도의 변수로 가져오는 방법을 보여줍니다. 숫자 10을 사용합니다. 우리는 10진수 체계를 가지고 있으며 그에 따라 비트 용어 1, 10, 100 등이 있습니다.
<사업부 스타일="텍스트 정렬:센터">
수치를 분석해보면
<예비>
전자 = n% 10
# 연산 n % 10 - 숫자 n의 마지막 자리를 계산합니다.
#(즉, 단위 숫자)
365 % 10 = 5
d = n // 10% 10
# 연산 n // 10 - 숫자를 10배로 줄이고,
# 즉, 숫자의 마지막 자리를 버립니다(
365 // 10 = 36).
# 이제 십의 자리를 계산할 수 있습니다.
# 익숙한 작업을 결과에 적용 -
# 숫자 10으로 나눈 나머지를 계산합니다.
36 % 10 = 6
에스 = 엔 // 100
# 백 자리를 얻으려면 숫자 오른쪽에서 두 자리를 버리면 충분합니다.
# 즉, 두 번 나누기 10
# (
n // 10 // 10 또는
n // 100과 동일)
365 // 100 = 3 강한>
숫자의 숫자가 변수에 저장되어 있으면 원하는 숫자에 적절한 비트 인수(1, 10, 100 등)를 곱하여 다른 숫자를 만들 수 있습니다.
예를 들어, 아래 줄은 원래 숫자 n
에서 백과 일이 재정렬된 새 숫자를 가져옵니다.
1) 단위 숫자( e
에 저장됨) 곱하기 100
,
2) 10자리 숫자(변수 d
에 저장됨) 10
을 곱하고
3) 단순히 백의 자리에 1
을 곱하거나 단순히 s
변수에 저장된 값을 취할 수 있습니다.
그런 다음 포인트 1, 2 및 3의 값을 간단히 추가하고 새 숫자를 얻습니다.
<예비>
n1 = e*100 + d*10 + s;
전체 프로그램은 다음과 같습니다.
<예비>
n = 정수(입력())
전자 = n% 10
d = n // 10% 10
에스 = 엔 // 100
인쇄(e, d, s, e*100 + d*10 + s)