分治算法N!个数为0的情况
Posted 肉松松松松
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治算法N!个数为0的情况相关的知识,希望对你有一定的参考价值。
题目地址 https://www.cnblogs.com/hao-tian/p/9274708.html
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<algorithm> using namespace std; long long solve(long long n) { long long sum=0; while(n>0) { n/=5LL; sum+=n; } return sum; } int main() { int n; while(~scanf("%d",&n)) { long long left=1; long long right=500000000; long long ans=500000001; while(left<=right) { int mid=(right-left)/2+left; int t=solve(mid); if(t==n&&mid<ans) { ans=mid; } if(t>n) { right=mid-1; } else if(t<n) { left=mid+1; } else { right=mid-1; } } if(ans==500000001) { printf("No solution!\\n"); } else { printf("%d\\n",ans); } } }
以上是关于分治算法N!个数为0的情况的主要内容,如果未能解决你的问题,请参考以下文章