タイトル:Nは数字のゼロの終わりを求めて!
トピック分析:通常、最初の考えは、はい、それが破裂する、その余りをNを計算することで、データが指数関数的です!しかし、この時間は、私はNため、と考えることができます!すべてのチームが持っているので、小数は、2,5はゼロを出産することができます。私達はちょうどカウントする必要があるので、
2及び5の後、最小の数は、ゼロに降ろされる得ることができます。
1の#include <iostreamの> 2の#include <アルゴリズム> 3 使用して 名前空間を STD。 4 のtypedef 長い 長 LL。 5 INTメイン(){ 6 LL N。 7 CIN >> N。 8 LL _2 = 0、_5 = 0。 9 ための(iは2 = LL; I <= N; ++ I){ 10 LL T = I。 11 一方、(T%5 == 0){ 12 _5 ++。 13 T / = 5。 14 } 15 ながら(T%2 == 0){ 16 _2 ++。 17 T >> = 1; 18 } 19 } 20 COUT <<分(_2、_5)<< ENDL。 21 リターン 0。 22 }
同じタイトルの別:
1 #include <iostream> 2 #include <algorithm> 3 using namespace std; 4 int main(){ 5 int _2 = 0, _3 = 0; 6 int a; 7 int n; 8 cin >> n; 9 for(int i = 0; i < n; ++ i){ 10 cin >> a; 11 int t = a; 12 while(t % 2 == 0){ 13 t >>= 1; 14 _2 ++; 15 } 16 t = a; 17 一方、(T%3 == 0){ 18 、T / = 3。 19 _3 ++; 20 } 21 22 } 23 COUT <<分(_2、_3)<< ENDL。 24 25 }