Rumah > pembangunan bahagian belakang > tutorial php > . Integer kepada Perkataan Inggeris

. Integer kepada Perkataan Inggeris

PHPz
Lepaskan: 2024-08-08 07:00:12
asal
836 orang telah melayarinya

. Integer to English Words

273. Integer kepada Perkataan Inggeris

Sukar

Topik : Matematik, Rentetan, Rekursi

Tukar nombor integer bukan negatif kepada perwakilan perkataan Inggerisnya.

Contoh 1:

  • Input: nombor = 123
  • Output: "Seratus Dua Puluh Tiga"

Contoh 2:

  • Input: nombor = 12345
  • Output: "Dua Belas Ribu Tiga Ratus Empat Puluh Lima"

Contoh 3:

  • Input: nombor = 1234567
  • Output: "Satu Juta Dua Ratus Tiga Puluh Empat Ribu Lima Ratus Enam Puluh Tujuh"

Kekangan:

  • 0 <= bilangan <= 231 - 1

Petunjuk:

  1. Adakah anda melihat corak dalam membahagikan nombor kepada ketulan perkataan? Contohnya, 123 dan 123000.
  2. Kumpulkan nombor mengikut beribu-ribu (3 digit). Anda boleh menulis fungsi pembantu yang mengambil nombor kurang daripada 1000 dan menukar bahagian itu sahaja kepada perkataan.
  3. Terdapat banyak kes tepi. Apakah beberapa kes ujian yang baik? Adakah kod anda berfungsi dengan input seperti 0? Atau 1000010? (bahagian tengah adalah sifar dan tidak boleh dicetak)

Penyelesaian:

Untuk menyelesaikan masalah ini, kita boleh ikuti langkah berikut:

  1. Takrifkan perkataan untuk nombor: Kami memerlukan tatasusunan untuk perkataan yang mewakili satu digit, remaja, puluhan dan kumpulan ribuan.

  2. Buat fungsi pembantu: Fungsi ini akan mengendalikan nombor kurang daripada 1000, menukarkannya kepada perkataan Inggeris.

  3. Fungsi rekursif: Fungsi utama akan memproses ketulan nombor secara rekursif, menambah label ribu kumpulan yang sesuai (cth., Ribu, Juta, Bilion).

  4. Kes tepi: Kendalikan kes tepi seperti 0 dan nombor dengan ketulan perantaraan adalah sifar.

Mari laksanakan penyelesaian ini dalam PHP: 273. Integer kepada Perkataan Inggeris






Penjelasan:

  1. Fungsi Utama (numberToWords):

    • Menyemak sama ada nombor input ialah 0 dan mengembalikan "Sifar".
    • Memulakan tatasusunan ribuan dengan label untuk seribu kumpulan.
    • Secara berulang memproses nombor dalam ketulan ribuan, menggunakan fungsi pembantu untuk menukar setiap ketul kepada perkataan.
    • Membina rentetan hasil akhir dengan menggabungkan perkataan untuk setiap bahagian dengan label ribu kumpulan yang sesuai.
  2. Fungsi Pembantu (penolong):

    • Menggunakan tatasusunan yang dipratentukan untuk nombor di bawah 20 dan untuk gandaan puluhan.
    • Membina perkataan Inggeris secara rekursif untuk nombor kurang daripada 1000:
      • Untuk nombor kurang daripada 20, terus mengembalikan perkataan yang sepadan.
      • Untuk nombor kurang daripada 100, gabungkan perkataan untuk tempat puluh dengan hasil panggilan rekursif untuk tempat unit.
      • Untuk nombor 100 dan ke atas, gabungkan perkataan untuk tempat ratusan dengan hasil panggilan rekursif untuk bakinya.

Penyelesaian ini mengendalikan kekangan dan kes tepi dengan berkesan, memberikan perwakilan perkataan Inggeris yang betul untuk sebarang nombor dalam julat yang diberikan.

Pautan Kenalan

Jika anda mendapati siri ini membantu, sila pertimbangkan untuk memberi repositori bintang di GitHub atau berkongsi siaran pada rangkaian sosial kegemaran anda ?. Sokongan anda amat bermakna bagi saya!

Jika anda mahukan kandungan yang lebih berguna seperti ini, sila ikuti saya:

  • LinkedIn
  • GitHub

Atas ialah kandungan terperinci . Integer kepada Perkataan Inggeris. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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