Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để kiểm tra số điện thoại có thể được hình thành từ chuỗi số

Giả sử chúng ta có một chuỗi S với n chữ số. Một số có chính xác 11 chữ số là số điện thoại, nó bắt đầu bằng '8'. Trong một thao tác, chúng ta có thể xóa một chữ số khỏi S. Chúng ta phải kiểm tra xem chúng ta có thể đặt chuỗi thành số điện thoại hợp lệ hay không.

Vì vậy, nếu đầu vào là S ="5818005553985", thì đầu ra sẽ là True, vì chúng ta có thể makethe chuỗi "8005553985" với 11 ký tự và chữ số đầu tiên là 8.

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

m := size of S
insert '8' at the end of S
if if location of 8 <= (m - 11), then:
   return true
return false

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
bool solve(string S){
   int m = S.size();
   S.push_back('8');
   if ((int(S.find('8')) <= (m - 11)))
      return true;
   return false;
}
int main(){
   string S = "5818005553985";
   cout << solve(S) << endl;
}

Đầu vào

"5818005553985"

Đầu ra

1