Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ สำหรับตรวจสอบหมายเลขโทรศัพท์สามารถสร้างขึ้นจากสตริงตัวเลข


สมมติว่าเรามีสตริง S ที่มี n หลัก หมายเลขที่มี 11 หลักคือหมายเลขโทรศัพท์หากขึ้นต้นด้วย '8' ในการดำเนินการครั้งเดียว เราสามารถลบตัวเลขหนึ่งหลักออกจาก S ได้ เราต้องตรวจสอบว่าเราสามารถทำให้สตริงเป็นหมายเลขโทรศัพท์ที่ถูกต้องได้หรือไม่

ดังนั้น หากอินพุตเป็น S ="5818005553985" ผลลัพธ์จะเป็น True เพราะเราสามารถสร้างสตริง "8005553985" ได้ 11 อักขระและหลักแรกคือ 8

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

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

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#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;
}

อินพุต

"5818005553985"

ผลลัพธ์

1