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

การเขียนโปรแกรม C / C ++ เพื่อนับเลขศูนย์ต่อท้ายในแฟคทอเรียลของตัวเลขหรือไม่


การนับจำนวนศูนย์ต่อท้ายในจำนวนแฟกทอเรียลทำได้โดยการนับจำนวน 2s และ 5s ในตัวประกอบของตัวเลข เนื่องจาก 2*5 ให้ 10 ซึ่งเป็น 0 ต่อท้ายในแฟกทอเรียลของตัวเลข

ตัวอย่าง

แฟกทอเรียลของ 7 =5040 จำนวนของ 0 ต่อท้ายคือ 1

ตามตรรกะของเรา 7! =2*3*4*5*6*7 มี 3 2s และ 1 5s ดังนั้นจำนวน 0 ต่อท้ายคือ 1

#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<<"No of trailing 0s in " << n<< "! is " << count;
   return 0;
}

ผลลัพธ์

No of trailing 0s in 24! is 10