Rumah > pembangunan bahagian belakang > Tutorial Python > Apakah Cara Paling Cekap untuk Menjumlahkan Digit Integer?

Apakah Cara Paling Cekap untuk Menjumlahkan Digit Integer?

Mary-Kate Olsen
Lepaskan: 2024-11-29 11:04:11
asal
484 orang telah melayarinya

What's the Most Efficient Way to Sum the Digits of an Integer?

Jumlah Digit Nombor

Soalan:

Tentukan kaedah yang paling berkesan untuk mengira jumlah digit dalam sesuatu yang diberi integer.

Jawapan:

Manakala kaedah Pythonic yang disediakan melibatkan penukaran rentetan dan pendekatan pemetaan (jumlah(int(digit) untuk digit dalam str(nombor)) dan jumlah (peta(int, str(nombor)))) boleh diterima, pendekatan yang lebih cekap wujud: integer langsung manipulasi.

Kaedah Manipulasi Integer:

  • sum_digit(): Berulang melalui setiap digit dengan operasi modulo dan bahagi.
  • sum_digit2(): Serupa dengan sum_digits() tetapi menggunakan divmod untuk kecekapan.
  • sum_digits3(): Memperkemas operasi menjadi satu pernyataan tugasan.

Perbandingan Prestasi:

Menanda aras kaedah ini mendedahkan relatifnya kecekapan:

def sum_digits3(n) is the fastest, followed by sum_digits(), sum_digits2(), sum(map(int, str(n))), sum([int(digit) for digit in str(n)]), 
    and finally sum(int(digit) for digit in str(n)).
Salin selepas log masuk

Oleh itu, untuk kelajuan optimum, menggunakan kaedah manipulasi integer langsung seperti sum_digits3() disyorkan berbanding pendekatan berasaskan rentetan.

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Menjumlahkan Digit Integer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan