A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 女神从来不加班 中级黑马   /  2015-3-24 23:44  /  1022 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求大数的阶乘结果中有多少个0
这个题 除了用biginteger什么的算出结果
然后再变成字符串去遍历0这种丧心病狂的方法外
还有没有巧妙一点的 召唤大神

1 个回复

正序浏览
大数相乘结果想不到取巧的办法,但是当结果出来之后可以直接转换为String类型,通过正则表达式的替换功能,最后输出长度就行了.
拆分成字符串数组,便利判断为0便统计次数加一也差不多.
  1.                 String s = "214000057544";
  2.                
  3.                 String regex = "[1-9]";
  4.                
  5.                 s = s.replaceAll(regex, "");
复制代码

通过正则表达式直接把数字中1-9替换成空,然后打印字符串的长度就行了

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马