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

C ++ Số Pandigital trong một cơ sở cho trước

Một số chứa tất cả các chữ số từ 0 đến cơ số B được gọi là số Pandigital trong cơ số đó. Tuy nhiên, một số số có các chữ số từ 1 đến 9 và được gọi là số không pandigital. Một số Ví dụ về số pandigital là 0123456789, 0789564312, v.v.

Trong hướng dẫn này, chúng ta sẽ thảo luận về một vấn đề trong đó chúng ta được cung cấp một số và một cơ số, và chúng ta cần kiểm tra xem số đó có phải là pandigital trong cơ số đã cho hay không, chẳng hạn -

 Input:num =“9651723467380AZ”, base =10Output:YESExplanation:num chứa tất cả các chữ số trong cơ số 10, tức là từ 0 đến 9, vì vậy nó là một số pandigital .Input:num =“130264ABCDE745789”, base =16Output :KHÔNG 

Phương pháp tiếp cận để tìm giải pháp

Để giải quyết vấn đề này, chúng tôi sẽ sử dụng Đặt và chèn từng chữ số vào tập hợp vì chúng tôi cần lưu trữ các giá trị duy nhất.

  • Duyệt qua chuỗi, lấy từng ký tự tại một thời điểm.

  • Sau đó, kiểm tra xem phần tử là số nguyên hay bảng chữ cái.

  • Nếu đó là một bảng chữ cái, hãy thêm 10 vào vị trí của nó trên bảng chữ cái để biểu thị 2 chữ số.

  • Lưu trữ các giá trị trong tập hợp.

  • Sau khi duyệt qua, hãy kiểm tra xem kích thước của tập hợp có bằng với cơ sở hay không.

Ví dụ

Mã C ++ cho phương pháp tiếp cận trên

 #include  using namespace std; int main () {int base =10; char n [] ="9651723467380AZ"; // Khai báo set lưu giá trị duy nhất. đặt > s; // Truyền qua chuỗi. for (int i =0; i  ='0' &&n [i] <='9') s.insert (n [i] - '0'); // Kiểm tra xem phần tử có phải là bảng chữ cái hay không. else if (n [i] - 'A' <=base - 11) s.insert (n [i] - 'A' + 10); } // Kiểm tra xem có tất cả các chữ số hay không. if (s.size () ==base) cout <<"YES"; else cout <<"NO"; trả về 0;} 

Đầu ra

Kết luận

Trong hướng dẫn này, chúng tôi đã thảo luận về một vấn đề trong đó chúng tôi được cung cấp một số và cơ sở. Chúng ta cần phải tìm xem con số có phải là pandigital hay không. Chúng tôi đã thảo luận về một cách tiếp cận đơn giản để giải quyết vấn đề này bằng cách chèn các giá trị vào một tập hợp và kiểm tra kích thước của nó với cơ sở. Chúng tôi cũng đã thảo luận về chương trình C ++ cho vấn đề này mà chúng tôi có thể làm với các ngôn ngữ lập trình như C, Java, Python, v.v. Chúng tôi hy vọng bạn thấy hướng dẫn này hữu ích.