Rumah > pembangunan bahagian belakang > C++ > Di bawah asas yang diberikan, terjemah nombor Pandigital dalam C++ ke dalam bahasa Cina

Di bawah asas yang diberikan, terjemah nombor Pandigital dalam C++ ke dalam bahasa Cina

WBOY
Lepaskan: 2023-08-30 08:01:10
ke hadapan
1239 orang telah melayarinya

Di bawah asas yang diberikan, terjemah nombor Pandigital dalam C++ ke dalam bahasa Cina

Nombor yang mengandungi semua digit dari 0 hingga asas B dipanggil nombor digit penuh dalam asas itu. Walau bagaimanapun, sesetengah nombor mempunyai digit dari 1 hingga 9 dan dipanggil nombor digit penuh bebas sifar. Beberapa contoh nombor semua digit termasuk 0123456789, 0789564312, dsb.

Dalam tutorial ini kita akan membincangkan masalah di mana kita diberi nombor dan asas dan kita perlu menyemak sama ada nombor itu adalah nombor berangka sepenuhnya dalam pangkalan yang diberikan seperti −

Input: num = “9651723467380AZ”, base = 10
Output: YES
Explanation: num contains all the digits in the base 10 i.e from 0 to 9, so it is a pandigital number.

Input: num = “130264ABCDE745789”, base = 16
Output: NO
Explanation: num does not contain F(15) which is in the base 16 i.e from 0 to 15, so it is not a pandigital number.
Salin selepas log masuk

Pendekatan untuk Mencari Penyelesaian

Untuk menyelesaikan masalah ini, kami akan menggunakan Set dan masukkan setiap digit dalam set kerana kami perlu menyimpan nilai unik.

  • Melintasi rentetan, mengambil setiap aksara pada satu masa.

  • Kemudian periksa sama ada elemen itu adalah integer atau huruf. saiz set bersamaan dengan asas.

  • Contoh

  • C++ Kod untuk Pendekatan Di Atas

     
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int base = 10;
        char n[] = "9651723467380AZ";
        // Declaring set to store unique values.
        set<int, greater<int> > s;
        // Traversing through the string.
        for (int i = 0; i < strlen(n); i++){
            // Checking if element is Integer.
            if (n[i] >= &#39;0&#39; && n[i] <= &#39;9&#39;)
               s.insert(n[i]- &#39;0&#39;);
            // Checking if element is alphabet.
            else if (n[i] - &#39;A&#39; <= base - 11)
               s.insert(n[i] - &#39;A&#39; + 10) ;
        }
        // Checking if all the digits are present.
        if(s.size()==base)
           cout<< "YES";
        else
            cout<< "NO";
        return 0;
    }
    Salin selepas log masuk
  • Output
  • YES
    Salin selepas log masuk

    Kesimpulan

    Dalam tutorial ini, kami membincangkan nombor asas. Kita perlu mengetahui sama ada nombor itu adalah berangka sepenuhnya. Kami membincangkan cara mudah untuk menyelesaikan masalah ini dengan memasukkan nilai ke dalam set dan menyemak saiznya terhadap kardinaliti. Kami juga membincangkan program C++ untuk masalah ini, yang boleh kami lakukan menggunakan bahasa pengaturcaraan seperti C, Java, Python, dll. Semoga tutorial ini membantu anda.

    Atas ialah kandungan terperinci Di bawah asas yang diberikan, terjemah nombor Pandigital dalam C++ ke dalam bahasa Cina. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan