Cara Mengira Nilai nCr
Gabungan ialah konsep matematik. Ia merujuk kepada susunan beberapa objek yang susunannya tidak relevan. Formula asas menerangkan bilangan gabungan yang sah.
Rekursi ialah konsep pengaturcaraan yang menyeronokkan tetapi boleh menjadi sedikit sukar untuk dipelajari. Rekursi hanya bermaksud sesuatu yang berulang. Jika anda ingin melihat contoh rekursi yang kurang ajar, cuba cari rekursi di Google. Anda akan menemui telur Paskah di mana cadangan hasil carian adalah rekursif. Jika, sebaliknya, anda ingin belajar cara mengekod fungsi rekursif, baca terus!
Fungsi rekursif ialah fungsi yang memanggil dirinya sendiri. Anda pada asasnya membuat gelung dengan fungsi. Seperti yang anda boleh bayangkan, ini boleh menjadi fungsi yang sukar untuk ditulis. Anda tidak mahu kod anda berjalan selama-lamanya.
Sama seperti gelung, fungsi rekursif akan dikawal oleh keadaan. Setelah syarat dipenuhi, fungsi berhenti memanggil dirinya sendiri, yang menghentikan gelung. Beginilah cara anda boleh mencipta fungsi yang memanggil dirinya sendiri tanpa ia berjalan selama-lamanya.
Walaupun fungsi rekursif bertindak seperti gelung, ia dilaksanakan oleh komputer secara berbeza. Jadi, sesetengah algoritma lebih cekap dalam gelung dan yang lain mendapat manfaat daripada fungsi rekursif. Tetapi sebelum kita melihat cara menggunakan fungsi rekursif, anda perlu tahu cara menulisnya.
Semua fungsi rekursif mempunyai struktur asas yang sama:
FUNCTION name IF condition THEN RETURN result ELSE CALL FUNCTION name END FUNCTION
Contoh di atas ditulis dalam pseudo-code. Ia menggariskan struktur fungsi, yang boleh digunakan pada mana-mana bahasa. Untuk kesederhanaan, dalam artikel ini, kami akan menumpukan pada Python.
Perkara pertama yang perlu diperhatikan tentang fungsi rekursif ialah apabila syarat dipenuhi, fungsi itu keluar dari rekursif. Ini bermakna apabila anda menulis fungsi rekursif, perkara pertama yang anda ingin tentukan ialah masa untuk menghentikan rekursif.
Jika syarat tidak dipenuhi, fungsi akan memanggil dirinya sendiri. Jadi, jika anda ingin menghantar maklumat ke gelung seterusnya, anda perlu menghantarnya sebagai hujah dalam fungsi anda. Ini boleh memberikan fungsi rekursif lebih kuasa.
Berkaitan: Apakah Fungsi dalam Pengaturcaraan?
Ia akan menjadi lebih mudah untuk memahami cara rekursi berfungsi apabila anda melihatnya dalam tindakan. Untuk menunjukkannya, mari tulis fungsi rekursif yang mengembalikan faktorial nombor.
Faktor mengembalikan hasil darab suatu nombor dan semua integer sebelum itu. Sebagai contoh, faktorial bagi 5 ialah 5 x 4 x 3 x 2 x 1 atau, 120.
def factorialFunction(numberToMultiply): if numberToMultiply == 1 : return 1 else : return numberToMultiply * factorialFunction(numberToMultiply - 1) result = factorialFunction(3) print(result) //Outputs: 6
Program di atas akan memberikan anda keputusan 6, yang merupakan faktorial bagi nombor 3. Ini boleh menjadi sedikit mengelirukan pada mulanya. Ia akan membantu jika kita menjalankan program langkah demi langkah.
Rekursi adalah konsep yang rumit. Ia boleh membantu untuk menganggapnya sebagai menyusun satu fungsi di atas fungsi lain. Setelah satu fungsi akhirnya diselesaikan, ia boleh menghantar maklumat kembali ke dalam timbunan, sehingga semua fungsi mempunyai jawapannya.
Inilah sebenarnya yang dilakukan oleh komputer anda. Apabila anda memanggil fungsi, ia disimpan dalam ingatan sehingga ia dikembalikan. Ini bermakna fungsi rekursif boleh menggunakan lebih banyak memori daripada gelung.
Oleh itu, mungkin tidak cekap untuk menulis gelung sebagai fungsi rekursif, tetapi ia adalah cara terbaik untuk berlatih membinanya. Anda sepatutnya boleh membuat kod gelung sebagai fungsi rekursif dengan hasil yang serupa.
print("Enter an even number:") i = int(input()) while (i % 2) != 0 : print("That number is not even. Please enter a new number:") i = int(input())
Gelung ini juga boleh ditulis secara rekursif sebagai:
def recursiveFunction(number) : if (number % 2) == 0 : return number else: print("That number is not even. Please enter a new number:") recursiveFunction(int(input())) print("Enter and even number:") i = recursiveFunction(int(input()))
Langkah pertama ialah menentukan bila anda mahu fungsi anda berhenti. Dalam kes ini, kami mahu ia berhenti sebaik sahaja nombor genap dimasukkan. Dalam contoh kami, nombor menjejaki input pengguna. Jika mereka memasukkan nombor genap, kami mengembalikan nombor itu. Jika tidak, kami akan terus meminta nombor baru.
Untuk menyediakan gelung, kami memanggil fungsi kami sekali lagi. Tetapi kali ini, nombor yang kita hantar ke fungsi seterusnya adalah nombor baru yang dimasukkan oleh pengguna. Panggilan fungsi seterusnya akan menyemak nombor.
Ini adalah fungsi yang sangat buruk! Ya, ia sedang menyemak sama ada nombor itu genap, seperti gelung kami, tetapi ia tidak cekap. Setiap kali pengguna memasukkan nombor ganjil, fungsi tersebut disimpan dalam ingatan dan fungsi baharu dipanggil. Jika anda melakukan ini cukup kali, anda akan kehabisan ingatan!
Berkaitan: Contoh Python Asas Yang Akan Membantu Anda Belajar Dengan Pantas
Contoh di atas adalah contoh yang baik tentang masa tidak menggunakan rekursi. Jadi, di manakah rekursi digunakan? Contoh yang baik apabila anda ingin menggunakan rekursi ialah mencari pokok binari.
Apabila data distrukturkan dalam pepohon binari, anda perlu pergi ke banyak laluan untuk mencari data. Pada setiap titik dalam pokok, anda perlu memutuskan sama ada anda mahu terus mencari di sebelah kanan atau kiri. Anda boleh menyimpan bahagian pokok yang anda lawati dalam pembolehubah, tetapi fungsi rekursif secara semula jadi boleh menjejaki maklumat tersebut.
Bayangkan kita sedang mencari nombor enam dalam pokok di atas. Kita boleh membuat fungsi rekursif yang mencari pokok dari kiri ke kanan. Algoritma akan kelihatan seperti ini:
FUNCTION searchTree(branchToSearch) IF find 6 OR end of tree THEN RETURN result ELSE PROCESS branch CALL FUNCTION searchTree(left) CALL FUNCTION searchTree(right) END FUNCTION
Dalam contoh pseudokod ini, algoritma akan mencari bahagian kiri pokok terlebih dahulu. Setiap kali ia melawat nombor baharu, fungsi itu dijeda dan disimpan dalam ingatan. Ini membolehkan kami menjejaki di mana kami berada.
Algoritma akan sentiasa mencari bahagian kiri sejauh yang boleh dahulu. sebaik sahaja ia sampai ke hujung pokok, searchTree(kiri) akan selesai dan ia akan menyemak bahagian kanan. Setelah kedua-dua belah disemak, carian menyandarkan satu cawangan dan terus menyemak bahagian kanan.
Jika algoritma mencari keseluruhan pokok, ia akan melakukannya mengikut urutan:
2, 7, 2, 6, 5, 11, 5, 9, dan 4
Lihat jika anda boleh mengikuti bersama menggunakan kod pseudo di atas.
Rekursi ialah topik lanjutan. Ia akan mengambil sedikit masa untuk memahami dan lebih lama lagi untuk mahir mengekodnya. Ia akan membantu jika anda berjalan melalui fungsi rekursif langkah demi langkah. Malah mungkin membantu untuk menyusun kad indeks atau nota pos semasa anda melalui fungsi apabila belajar untuk mewakili setiap panggilan fungsi.
Apabila menulis fungsi rekursif, mulakan dengan memutuskan cara anda ingin keluar dari fungsi tersebut. Seterusnya, tentukan cara menyediakan gelung anda. Kenal pasti maklumat yang perlu dihantar ke panggilan fungsi seterusnya dan apa yang perlu dikembalikan.
Cara terbaik untuk mempelajari rekursi adalah dengan mempraktikkannya dan belajar daripada kesilapan anda. Lihat beberapa kod lama anda dan cabar diri anda untuk menulis semula gelung sebagai fungsi rekursif. Ia mungkin tidak akan menjadikan kod anda lebih cekap, tetapi ia akan menjadi amalan yang baik.
Gabungan ialah konsep matematik. Ia merujuk kepada susunan beberapa objek yang susunannya tidak relevan. Formula asas menerangkan bilangan gabungan yang sah.
Solidity ialah bahasa pengaturcaraan yang digunakan oleh kontrak pintar pada blockchain Ethereum. Ia adalah bahasa pengaturcaraan berorientasikan objek yang ditaip secara statik.
SQL vs. NoSQL: Apakah Pangkalan Data Terbaik untuk Projek Anda Seterusnya?
Ramai pengaturcara suka menyelesaikan masalah matematik rumit menggunakan kod. Ia membantu menajamkan minda dan meningkatkan kemahiran menyelesaikan masalah. Dalam artikel ini, anda akan belajar cara mencari petak dan kiub sempurna n-digit terkecil dan terbesar menggunakan Python, C++ dan JavaScript. Setiap contoh juga mengandungi output sampel untuk beberapa nilai yang berbeza.
Walaupun anda boleh menggunakan kalkulator grafik pada komputer anda, penterjemah bahasa pengaturcaraan Python boleh berfungsi sebagai kalkulator meja. Ia adalah jenaka yang popular dalam komuniti Python yang disebut dalam tutorial rasmi. Inilah cara anda boleh menggunakan Python sebagai kalkulator.
Jika anda seorang saintis data yang bercita-cita tinggi yang bekerja dengan Python atau R, anda perlu tahu cara menggunakan Jupyter Notebook. Ia adalah IDE sumber terbuka dan berasaskan pelayan untuk memanipulasi data, berkongsi kod langsung, serta mengurus aliran kerja sains data.
Teknologi, tidak dinafikan, adalah industri masa depan. Jika anda salah seorang daripada berjuta-juta dewasa muda yang akan terjun ke peringkat pertama kerjaya anda, anda mungkin tertanya-tanya apa yang perlu dilakukan jika anda tidak suka pengekodan.
Mempelajari bahasa pengaturcaraan baharu seperti Python menjadi mudah jika anda mempunyai peta jalan yang komprehensif yang memperincikan konsep yang perlu dipelajari sebagai pemula dan cara untuk maju lebih jauh untuk mencapai pencapaian seterusnya. Malah pengaturcara perantaraan harus kerap meneliti asas mereka untuk membina asas yang kukuh untuk diri mereka sendiri.
ASP.NET ialah rangka kerja merentas platform percuma Microsoft untuk membina apl dan perkhidmatan web. Platform ASP.NET ialah sambungan kepada .NET, platform pembangun alat, bahasa pengaturcaraan dan perpustakaan yang digunakan untuk membina aplikasi yang berbeza.
Bekas sangat bermanfaat untuk pembangunan perisian, penggunaan dan pengurusan dalam persekitaran maya. Docker berguna dalam proses kontena, tetapi ia bukan satu-satunya platform yang ada. Jika anda sedang mencari beberapa alternatif kepada Docker, jangan cari lagi. Senarai ini mempamerkan beberapa alternatif Docker yang kaya dengan ciri dan cekap untuk digunakan dalam projek anda yang seterusnya.
Beberapa aplikasi dan pengalaman mudah alih yang paling banyak diperkatakan hari ini menggunakan teknologi realiti tambahan. Walaupun sesetengah pengalaman ini boleh berfungsi pada hampir mana-mana peranti mudah alih, yang lain hanya berfungsi pada model yang lebih baharu dan lebih mahal. Membangunkan dan menggunakan pengalaman yang lebih mantap ini memerlukan ARCore dan ARKit.
Cawangan adalah teras kepada konsep kawalan versi dalam pengaturcaraan, dan Git khususnya. Artikel permulaan ini memberitahu anda apa itu cawangan dan cara menciptanya menggunakan beberapa alatan yang berbeza.
Pernyataan if adalah penggerak pengaturcaraan logik. Akibatnya, pemahaman yang lebih baik tentang Pythons adalah tambahan penting kepada kemahiran pengaturcaraan Python anda.
Lencana GitHub boleh meningkatkan kebolehbacaan repositori dengan menyediakan pengguna dengan cara yang pantas untuk menangkap metrik repositori. Lencana boleh dibenamkan dalam README.md anda untuk menjelaskan kepentingan dan keperluan projek anda kepada pembangun lain. Akibatnya, pembaca mendapat idea yang sangat pantas tentang repositori dengan menyemak lencana yang dilampirkan.
Enjin storan Redis yang popular ialah alat yang sangat baik dan mesti ada dalam mana-mana senjata pembangun perisian. Enjin storan dalam memori membolehkan penyimpanan dan mendapatkan semula data yang sangat pantas, sehingga 32 juta pertanyaan sesaat yang mengagumkan, menjadikannya pelengkap utama kepada mana-mana enjin pangkalan data utama.
Sebahagian daripada keajaiban pembangunan perisian berlaku apabila baris kod berubah menjadi lebih daripada jumlah bahagiannya. Anda akan mendapati anda memerlukan sedikit visualisasi kreatif apabila cuba membina secara abstrak dengan cara ini. Ini boleh berlaku untuk pemprosesan perkataan atau reka bentuk web, sama seperti yang boleh dilakukan untuk pengaturcaraan.
Sebagai pengguna Windows, anda mungkin sekurang-kurangnya sekali menjumpai perkataan .NET Framework. Ia merupakan rangka kerja perisian yang dibangunkan oleh Microsoft yang membolehkan anda membina dan menjalankan program C#, C++, F# dan Visual Basic. Versi .NET terkini ialah 4.8, tetapi komputer anda mungkin memerlukan versi .NET yang lebih lama (seperti .NET 3.5) untuk menjalankan beberapa apl.
Anda sering menghadapi dilema klasik semasa membina tapak web untuk diri sendiri atau perniagaan anda. WordPress vs. Wix—yang mana satu untuk dipilih dan apakah pilihan terbaik untuk anda?
Walaupun Linux mungkin bukan sistem pengendalian yang digemari untuk pengguna biasa, ia adalah pilihan utama untuk kebanyakan pembangun dan pengaturcara. Linux ialah OS yang lebih praktikal yang direka secara eksplisit dengan mengambil kira pengaturcaraan dan pembangun.
Cascading Style Sheets (CSS) membolehkan anda mengubah rupa halaman web anda. Daripada fon dan warna kepada jarak dan susun atur keseluruhan, semua jenis alatan reka bentuk berada di hujung jari anda. Walaupun CSS adalah bahasa yang rumit secara keseluruhannya, hanya terdapat dua konsep asas yang perlu anda fahami untuk bermula.
Gabungan ialah konsep matematik. Ia merujuk kepada susunan beberapa objek yang susunannya tidak relevan. Formula asas menerangkan bilangan gabungan yang sah.
Solidity ialah bahasa pengaturcaraan yang digunakan oleh kontrak pintar pada blockchain Ethereum. Ia adalah bahasa pengaturcaraan berorientasikan objek yang ditaip secara statik.
SQL vs. NoSQL: Apakah Pangkalan Data Terbaik untuk Projek Anda Seterusnya?
Ramai pengaturcara suka menyelesaikan masalah matematik rumit menggunakan kod. Ia membantu menajamkan minda dan meningkatkan kemahiran menyelesaikan masalah. Dalam artikel ini, anda akan belajar cara mencari petak dan kiub sempurna n-digit terkecil dan terbesar menggunakan Python, C++ dan JavaScript. Setiap contoh juga mengandungi output sampel untuk beberapa nilai yang berbeza.
Walaupun anda boleh menggunakan kalkulator grafik pada komputer anda, penterjemah bahasa pengaturcaraan Python boleh berfungsi sebagai kalkulator meja. Ia adalah jenaka yang popular dalam komuniti Python yang disebut dalam tutorial rasmi. Inilah cara anda boleh menggunakan Python sebagai kalkulator.
Membenamkan perkhidmatan pihak ketiga pada siaran WordPress anda ialah cara yang menarik untuk memikat minat pelawat. Kandungan terbenam juga menyediakan isyarat visual yang memudahkan pengimbasan. WordPress telah memudahkan penambahan jenis kandungan ini.
Jika anda seorang saintis data yang bercita-cita tinggi yang bekerja dengan Python atau R, anda perlu tahu cara menggunakan Jupyter Notebook. Ia adalah IDE sumber terbuka dan berasaskan pelayan untuk memanipulasi data, berkongsi kod langsung, serta mengurus aliran kerja sains data.
Teknologi, tidak dinafikan, adalah industri masa depan. Jika anda salah seorang daripada berjuta-juta dewasa muda yang akan terjun ke peringkat pertama kerjaya anda, anda mungkin tertanya-tanya apa yang perlu dilakukan jika anda tidak suka pengekodan.
Mempelajari bahasa pengaturcaraan baharu seperti Python menjadi mudah jika anda mempunyai peta jalan yang komprehensif yang memperincikan konsep yang perlu dipelajari sebagai pemula dan cara untuk maju lebih jauh untuk mencapai pencapaian seterusnya. Malah pengaturcara perantaraan harus kerap meneliti asas mereka untuk membina asas yang kukuh untuk diri mereka sendiri.
ASP.NET ialah rangka kerja merentas platform percuma Microsoft untuk membina apl dan perkhidmatan web. Platform ASP.NET ialah sambungan kepada .NET, platform pembangun alat, bahasa pengaturcaraan dan perpustakaan yang digunakan untuk membina aplikasi yang berbeza.