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

C++에서만 1, 14 또는 144를 연결하여 숫자를 구성하는지 확인

<시간/>

여기서 우리는 문자열 또는 숫자가 1, 14 또는 144의 연결인지 여부를 알 수 있는 한 가지 문제를 볼 것입니다. 문자열이 "111411441"이라고 가정하면 이것은 유효하지만 "144414"는 유효하지 않습니다.

작업은 간단합니다. 마지막에서 한 자리, 두 자리 및 세 자리 숫자를 가져와서 이 세 가지(1, 14 및 144) 중 하나와 일치하는지 확인해야 합니다. 일치하는 항목이 하나 있으면 나누기 번호를 입력하고 전체 번호가 소진되지 않을 때까지 이 과정을 반복합니다.

예시

#include <iostream>
#include <cmath>
using namespace std;
bool checkNumber(long long number) {
   int n = number;
   while (n > 0) {
      if (n % 1000 == 144)
         n /= 1000;
         else if (n % 100 == 14)
            n /= 100;
         else if (n % 10 == 1)
            n /= 10;
      else {
         return false;
      }
   }
   return true;
}
int main() {
   long long n = 111411441;
   if(checkNumber(n)){
      cout << "Valid number";
   } else {
      cout << "Invalid number";
   }
}

출력

Valid number