码迷,mamicode.com
首页 > 其他好文 > 详细

【Henu ACM Round #13 D】A Trivial Problem

时间:2018-01-23 14:22:56      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:blog   bit   个数   code   cpp   输入   problem   push   ++   

【链接】 我是链接,点我呀:)
【题意】


在这里输入题意

【题解】


123...n中末尾0的个数
只会由素因子2和5的个数决定且等于
Min{cnt[2],cnt[5]}
且素因子2的个数一定会比5多;
所以n!的末尾0的个数
等于for (int i = 1;i <= n;i++)中所有i的5因子的个数和
枚举一下就好

【代码】

#include <bits/stdc++.h>
using namespace std;

const int N = 1e7;

int n;
vector<int> v;

int main(){
    #ifdef LOCAL_DEFINE
        freopen("rush_in.txt", "r", stdin);
    #endif
    ios::sync_with_stdio(0),cin.tie(0);
    cin >> n;
    int cnt5 = 0;
    for (int i = 1;i <=N;i++){
        int j = i;

        while (j%5==0){
            j/=5;
            cnt5++;
        }
        if (cnt5==n)
            v.push_back(i);

    }
    cout <<(int)v.size()<<endl;
    for (int i = 0;i < (int)v.size();i++){
        cout <<v[i]<<' ';
    }
    return 0;
}

【Henu ACM Round #13 D】A Trivial Problem

标签:blog   bit   个数   code   cpp   输入   problem   push   ++   

原文地址:https://www.cnblogs.com/AWCXV/p/8335091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!