793. 阶乘函数后K个零

f(x) 是 x! 末尾是0的数量。(回想一下 x! = 1 * 2 * 3 * … * x,且0! = 1)

例如, f(3) = 0 ,因为3! = 6的末尾没有0;而 f(11) = 2 ,因为11!= 39916800末端有2个0。给定 K,找出多少个非负整数x ,有 f(x) = K 的性质。

示例 1:

输入:K = 0

输出:5

解释: 0!, 1!, 2!, 3!, and 4! 均符合 K = 0 的条件。

示例 2:

输入:K = 5

输出:0

解释:没有匹配到这样的 x!,符合K = 5 的条件。

注意:

K是范围在 [0, 10^9] 的整数。

class Solution {

     // 按照数据规律求解阶乘
// 1个5 5 1
// 2个5 = 25 6 实际相当于 5个1个5,然后再加25自身是两个5,所以得到的是 5+1 = 6
// 3个5 = 125 31 相当于5个25,然后加自身125又多了一个5 所以的(5+1)*5+1=31
// 按照这个规律,则后续公式可以f(2)=f(1)*5+1 f(1)=1 则 f(x+1) = f(x)*5+1 x是5的次幂数 public int preimageSizeFZF(int K) {
int last=1;
while(last<K)
last=5*last+1;
while(last>1){
if(last-1==K)
return 0;
last=(last-1)/5;
K%=last;
}
return 5;
}
}

最新文章

  1. 启动eclipse时:java is started but returned code 13
  2. PC端和移动端一些奇葩兼容性问题
  3. ctrl+c关闭多线程python程序
  4. Android判断界面
  5. WdatePicker.js 日期时间插件
  6. c# 针对不同数据库进行参数化查询
  7. ubutu下的几个命令
  8. C/C++用strncpy()与strstr()分割与匹配查找字符串
  9. delphi 中sql的语法规范
  10. GridView的RowCreated与RowDataBound事件区别
  11. 关于mysql中的count()函数
  12. Python中的for...else...搭配
  13. 利用Caffe训练模型(solver、deploy、train_val) + python如何使用已训练模型
  14. 装Office时,安装程序找不到Office.zh-cn\OfficeMUI问题
  15. jmeter 中 Client implementation HttpClient4和java区别实践一
  16. android -------- 错误Attribute application@allowBackup value=(true) from AndroidManifest.xml
  17. C# window Service实现调用有UI的应用程序(关于win xp以后的window系统)
  18. Oracle GUID转换为String
  19. Visual Studio工具 vcpkg简介
  20. shell基础 -- 入门篇

热门文章

  1. Kitty Cloud(HTTP_RPC)的全局异常处理
  2. linux磁盘已满,查看哪个文件占用多
  3. electron——通知
  4. vue 自己写组件。
  5. PAT 1028 List Sorting (25分) 用char[],不要用string
  6. leetcode 第184场周赛第一题(数组中的字符串匹配)
  7. python之文件操作模块(os和shutil)
  8. React学习随笔
  9. vue-cli搭建vue项目
  10. python3.x 基础三:函数