题目:

用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0。

思路:

这道题与上一篇博文N!尾部连续0的个数的思路是一样的。

计算N!下三进制结果末尾有多少个0,其实就是计算三进制中的3被连续进位多少次,只要将N!因式分解成3^m*other,m就是答案。

技巧性的解法就是:m=N/3+N/(3^2)+N/(3^3)....+N/(3^k) (k<=N/3)

(三进制数:第一位满3进1,第二位满9进1,第三位满27进1。。。)

代码:

#include <iostream>

using namespace std;

long long NumOfZero(long long n){
long long count=0;
while(n>0){
count+=n/3;
n=n/3;
}
return count;
} int main()
{
long long n=30;
cout<<NumOfZero(n)<<endl;
return 0;
}

  

最新文章

  1. servlet中session的使用
  2. Asp.Net Mvc视图引擎Razor介绍
  3. nginx安装笔记
  4. Cocos2d-x游戏移植到Android平台
  5. 【C#】 装箱 (boxing) 和拆箱 (unboxing)
  6. Comparator与Comparable的异同
  7. EasyGUI的安装
  8. js防止表单重复提交的两种方法
  9. load average[zhuan]
  10. 点击TextView浏览器打开指定网页
  11. MySQL索引类型
  12. app后端设计(7)-- 项目管理
  13. NFS共享存储的使用
  14. supervisor 监控redis &amp; mongodb
  15. Java 多线程 临界区
  16. Java第三次实验敏捷开发与XP实验
  17. VS2010_DLL_共享数据段
  18. 【BZOJ4300】 绝世好题
  19. LeetCode题解之N-ary Tree Preorder Traversal
  20. leetcode506

热门文章

  1. TCP/IP——IP网络协议简记
  2. Unity 2D游戏开发教程之摄像头追踪功能
  3. FastReport.Net使用:[10]报表栏目说明
  4. SPOJ375 Query on a tree 【倍增,在线】
  5. Android之Fragment优点
  6. c# -- 介绍File.AppendAllText 方法
  7. hihocoder1322 树结构判定(161周)
  8. Shell基础学习(三) 传递参数
  9. MYSQL SELECT 过程 转
  10. python接口自动化9-https请求(SSL)