Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

นับศูนย์ท้ายในแฟกทอเรียลของตัวเลข ในภาษา C/C++

จำนวนศูนย์ท้ายใน n! เท่ากับจำนวนคู่ของตัวประกอบ 2 และ 5 ในตัวประกอบเฉพาะของ n! เนื่องจาก 2 มีมากกว่า 5 จึงนับแค่จำนวนตัวประกอบ 5

สูตร

Trailing zeros = n/5 + n/25 + n/125 + ... (จนกว่าจะหารไม่ลง)

โค้ดตัวอย่าง

#include <iostream>
using namespace std;

int main() {
    int n = 45;
    int count = 0;
    for (int i = 5; n / i >= 1; i *= 5)
        count += n / i;
    cout << "Trailing zeros in " << n << "! = " << count;
    return 0;
}

ผลลัพธ์

Trailing zeros in 45! = 10