두 개의 정수 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