숫자의 자릿수 계산
나눗셈의 나머지를 계산하는 작업을 적용해야 하는 필요성은 숫자의 자릿수로 작업할 때 볼 수 있습니다.
과제
세 자리 숫자가 주어집니다. 이 숫자의 모든 자릿수를 표시하고 단위와 백을 치환하여 형성된 새 숫자를 얻습니다.
초보자에게 발생하는 가장 어려운 질문은 숫자를 구성 자릿수로 나누는 방법입니다.
사실, 수학을 기억한다면 모든 것이 아주 간단하게 해결됩니다. 그리고 수학은 모든 숫자가 숫자 항의 합으로 분해될 수 있음을 알려줍니다.
예:
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);
}