Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 A의 계승이 B의 계승을 나눌 때 마지막 숫자 찾기


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