Bagaimana Anda menemukan akhir nol dengan python?

Halo, adakah yang bisa memberi tahu saya mengapa ini berhasil? . nomor = 1802300 string nomor = string(nomor) daftar = daftar(nomor string) daftar. reverse() untuk i dalam jangkauan (len(list)). number_of_zero = 0 sedangkan i == 0. number_of_zero +=1 return number_of_zero Ini memberi tahu saya, bahwa saya telah mengembalikan fungsi luar. Tapi saya tidak tahu kenapa?

Gunakan fungsi format() untuk menambahkan nol ke float setelah desimal, mis. g. result = format(my_float, '.3f'). Fungsi akan memformat angka dengan tepat N digit setelah titik desimal

Kami menggunakan fungsi untuk menambahkan nol ke float setelah desimal

Fungsi mengambil nilai dan penentu format dan mengonversi nilai menjadi representasi yang diformat sesuai dengan penentu format yang disediakan

Jenis f_ dalam penentu format adalah singkatan dari notasi titik tetap

Perhatikan bahwa nilai yang dikembalikan fungsi format()_ adalah string

Ini diperlukan karena Python tidak menyimpan angka nol yang tidak signifikan

Pendekatan alternatif adalah dengan menggunakan literal string yang diformat

Literal string terformat (f-string) mari kita sertakan ekspresi di dalam string dengan mengawali string dengan f

Dalam tutorial ini, kita akan belajar cara menemukan angka yang faktorialnya diakhiri dengan 'n' nol dengan Python. Tapi pertama-tama, kita perlu memahami bagaimana kita menerapkan logika kita dan menemukan daftar angka yang faktorialnya diakhiri dengan 'n' nol. Pertama-tama kita harus membuat fungsi yang menemukan jumlah angka nol di belakang yang ada dalam faktorial dari angka yang ditentukan. Selanjutnya, kita perlu mencari nomor secara efisien dari seluruh rentang numerik yang memenuhi kriteria dan menambahkannya ke daftar. Pada akhirnya, kita hanya perlu mencetak daftarnya

Program python untuk menemukan angka yang faktorialnya diakhiri dengan 'n' nol

list=[];
def count(n): 
  c=0
  while (n>0): 
    n =int(n/5); 
    c=c+n; 
  return c;

def search( n ): 
  f=0;
  l=1e6;
  
  while (f<l): 
    mid=int((f+l)/2); 
    no=count(mid);
    if (no < n): 
      f=mid+1;
    else: 
      l=mid; 
      
  while (count(f)==n): 
    list.append(f); 
    f=f+1;
  
  for i in range(len(list)): 
    print(list[i]," ") 

num=input("Enter the number of trailing zeros:");
n=int(num);
search(n);

Dalam program ini, fungsi 'count()_' mengembalikan jumlah nol tertinggal yang ada dalam faktorial angka tertentu. Fungsi ‘search()_‘ adalah tempat kami menerapkan algoritma pencarian biner untuk secara efisien menemukan angka yang memenuhi kriteria. Ketika angka memenuhi syarat, kami menambahkan angka yang sama dalam daftar. Di akhir fungsi, kami mencetak daftar yang menampilkan semua angka yang faktorialnya memiliki 'n' nol

Program Python untuk Menghitung angka nol di belakang dalam faktorial sebuah angka

Meningkatkan Artikel

Simpan Artikel

Seperti Artikel

  • Tingkat Kesulitan. Sedang
  • Terakhir Diperbarui. 06 Des 2022

  • Membaca
  • Membahas
  • Kursus
  • Praktik
  • Video
  • Meningkatkan Artikel

    Simpan Artikel

    Diberi bilangan bulat n, tulis fungsi yang mengembalikan hitungan nol di belakang dalam n.  

    Contoh

    Input: n = 5
    Output: 1 
    Factorial of 5 is 120 which has one trailing 0.
    
    Input: n = 20
    Output: 4
    Factorial of 20 is 2432902008176640000 which has
    4 trailing zeroes.
    
    Input: n = 100
    Output: 24
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....

    Metode 1

    Python3




    # Python3 program to

    # count trailing 0s

    # in n !

     

    # Function to return

    # trailing 0s in

    # factorial of n

     

     

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    0
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    1

     

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    3

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    5
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    7

     

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    9

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Count of trailing 0s in 100 ! is 24
    1

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Count of trailing 0s in 100 ! is 24
    3

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Count of trailing 0s in 100 ! is 24
    5
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Count of trailing 0s in 100 ! is 24
    7

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2
    Count of trailing 0s in 100 ! is 24
    9
    Count of trailing 0s in 100 ! is 24
    0
    Count of trailing 0s in 100 ! is 24
    1
    Count of trailing 0s in 100 ! is 24
    2
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Count of trailing 0s in 100 ! is 24
    4
    Count of trailing 0s in 100 ! is 24
    5

    Count of trailing 0s in 100 ! is 24
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    5
    Count of trailing 0s in 100 ! is 24
    8
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # Python3 program to0
    Count of trailing 0s in 100 ! is 24
    0
    Count of trailing 0s in 100 ! is 24
    1 # Python3 program to3

    Count of trailing 0s in 100 ! is 24
    6
    Count of trailing 0s in 100 ! is 24
    5# Python3 program to6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Count of trailing 0s in 100 ! is 24
    7

     

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# count trailing 0s0 # Python3 program to0# count trailing 0s2

     

     

    # count trailing 0s3

    # count trailing 0s4

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # count trailing 0s6

    # count trailing 0s7# count trailing 0s8# count trailing 0s9

    Count of trailing 0s in 100 ! is 24
    8

    # in n !1# in n !2# in n !3

    Keluaran.

    Count of trailing 0s in 100 ! is 24

    Kompleksitas Waktu. O(log5n)

    Ruang Bantu. O(1)

    Silakan merujuk artikel lengkap tentang Menghitung angka nol di belakang dalam faktorial angka untuk detail lebih lanjut

    Metode 2. Menggunakan matematika. faktorial() dan untuk loop

    Python3




    # Python3 program to

    # count trailing 0s

    # in n !

     

    # Function to return

    # trailing 0s in

    # factorial of n

     

     

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    0
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    1

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# Function to return3 # Function to return4

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# Function to return6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    7

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# trailing 0s in0
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # trailing 0s in2

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# trailing 0s in4
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # trailing 0s in6# trailing 0s in7

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# trailing 0s in9
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # factorial of n1# factorial of n2
    Count of trailing 0s in 100 ! is 24
    4# factorial of n4

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# factorial of n6
    Count of trailing 0s in 100 ! is 24
    5# factorial of n8 # factorial of n9

    Count of trailing 0s in 100 ! is 24
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    01
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    02
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    04
    Count of trailing 0s in 100 ! is 24
    5

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    06
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    07

    Count of trailing 0s in 100 ! is 24
    6
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    09
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    10

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    06# Function to return6
    Count of trailing 0s in 100 ! is 24
    8
    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6
    Count of trailing 0s in 100 ! is 24
    4

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    2# count trailing 0s0 # Function to return6

     

     

    # count trailing 0s3

    # count trailing 0s4

    Trailing 0s in n! = Count of 5s in prime factors of n!
                      = floor(n/5) + floor(n/25) + floor(n/125) + ....
    6 # count trailing 0s6

    # count trailing 0s7# count trailing 0s8# count trailing 0s9

    Count of trailing 0s in 100 ! is 24
    8

    # in n !1# in n !2# in n !3

    Keluaran

    Count of trailing 0s in 100 ! is 24


    Catatan Pribadi Saya arrow_drop_up

    Menyimpan

    Silakan Login untuk berkomentar.

    Bagaimana Anda menemukan angka nol di akhir faktorial?

    Metode sederhananya adalah pertama hitung faktorial dari n, lalu hitung hasil 0 yang tertinggal (Kita dapat menghitung 0 yang tertinggal dengan membagi secara berulang .

    Bagaimana Anda menemukan jumlah angka nol yang tertinggal?

    Jumlah angka nol di belakang bilangan bulat berbasis b bukan nol n sama dengan eksponen pangkat tertinggi dari b yang membagi n . Misalnya, 14000 memiliki tiga angka nol di belakangnya dan karena itu habis dibagi 1000 = 103, tetapi tidak habis dibagi 104. Properti ini berguna saat mencari faktor kecil dalam faktorisasi bilangan bulat.

    Bagaimana menemukan jumlah nol tertinggal dalam faktorial dengan Python?

    Mengingat bilangan bulat n, tulis fungsi yang mengembalikan jumlah nol di belakang n. Mengejar 0 di n. = Hitungan 5s dalam faktor prima dari n. = lantai(n/5) + lantai(n/25) + lantai(n/125) +.

    Bagaimana Anda menunjukkan angka nol dengan Python?

    Gunakan str. zfill() metode untuk menambahkan nol di depan string . Metode ini mengambil lebar string dan melapisinya dengan angka nol di depan.