두 개의 정수 A와 B가 있고 B>=A가 있는 경우 B의 마지막 숫자를 계산해야 합니다! / ㅏ! A =2 및 B =4의 값이면 결과는 2, 2입니다! =2와 4! =24이므로 24/2 =12. 마지막 숫자는 2입니다.
factorial의 마지막 숫자가 {0, 1, 2, 4, 6} 집합에 있다는 것을 알고 있으므로 다음 단계에 따라 이 문제를 해결하십시오. −
- A와 B의 차이점을 찾아보겠습니다.
- 차이가>=5이면 답은 0입니다.
- 그렇지 않으면 (A + 1)에서 B까지 반복합니다. 그런 다음 곱하여 저장합니다.
- 곱셈의 마지막 숫자가 답이 됩니다.
예시
#include<iostream>
using namespace std;
int findLastDigit(long long int A, long long int B) {
int x = 1;
if (A == B)
return 1;
else if ((B - A) >= 5)
return 0;
else {
for (long long int i = A + 1; i <= B; i++)
x = (x * (i % 10)) % 10;
return x % 10;
}
}
int main() {
cout << "Last digit is: " << findLastDigit(2, 4);
} 출력
Last digit is: 2