阶乘(fact)【数论】

>Description
在这里插入图片描述


>Input
第一行有一个正整数T,表示测试数据的组数。
接下来的T行,每行输入两个十进制整数n和base。

>Output
对于每组数据,输出一个十进制整数,表示在base进制下,n!结尾的零的个数。


>Sample Input
2
10 10
10 2

>Sample Output
2
8

对于20%的数据,n<=20,base<=16
对于50%的数据,n<=10 ^ 9,base<=10^5
对于100%的数据,1<=T<=50,0<=n<=10^ 18,2<=base<=10^12


>解题思路

一开始只想到暴力所以就打了一个暴力拿到了20分,看看数据范围肯定不是暴力啦

正解↓↓↓
在base进制下,n!结尾的零的个数,推算一下可以发现,求得是 n ! = b a s e a n s − 1 ∗ k n!=base^{ans-1}*k n!=baseans1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值