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

3자리 오시리스 번호 C 프로그램?

<시간/>

여기서 우리는 오시리스 번호를 볼 것입니다. 오시리스 수는 자신의 자릿수 하위 샘플 순열의 합과 같은 종류의 수입니다. 숫자가 132라고 가정합니다. 그런 다음 {12 + 21 + 13 + 31 + 23 + 32}를 계산하면 이것도 132입니다. 따라서 숫자는 오시리스 수입니다. 주어진 번호가 오시리스 번호인지 확인해야 합니다.

접근 방식은 간단합니다. 숫자를 분석하면 각 숫자가 두 번 발생하므로 1의 위치와 10의 위치에 있습니다. 따라서 11을 곱하여 확인할 수 있습니다.

알고리즘

isOsirisNumber(n) -

Begin
   a := last digit
   b := second digit
   c := first digit
   digit_sum := a + b + c
   if n = (22 * digit_sum), then
      return true
   end if
   return false
End

예시

#include
using namespace std;
bool isOsirisNumber(int n) {
   int a = n % 10;
   int b = (n / 10) % 10;
   int c = n / 100;
   int sum = a + b + c;
   if (n == (22 * sum)) {
      return true;
   }
   return false;
}
int main() {
   int n = 132;
   if (isOsirisNumber(n))
      cout << "This is Osiris number";
   else
      cout << "This is Not Osiris number";
}

출력

This is Osiris number