码迷,mamicode.com
首页 > 其他好文 > 详细

几道笔试题

时间:2015-04-04 16:48:37      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:

1.数字(100!)后面有____个0。

分析:

    这道题用代码实现,不过是一个大数问题,但在笔试中重点应该是构造

    1到100中,以0为尾数的共有 10,20,..,90,100.以5为尾数的共有5,15,...,85,95.

    共有20个数构成尾数是0,所以当时我随手填了20.

    忽略了几个特殊的数,100,75,50,25,他们是可以构成100的特殊数字.

    所以答案应该是24.

    代码验证:

import java.math.BigInteger;

public class Main {
	
	public static void main(String[] argv){
		Main m = new Main();
		m.test();
	}
	
	public void test(){
		BigInteger num = BigInteger.valueOf(1);
		int count = 0;
		for(int i = 1; i <= 100; ++i){
			num = num.multiply(BigInteger.valueOf(i));
		}
		while(true){
			if(num.mod(BigInteger.valueOf(10)) != BigInteger.valueOf(0))
				break;
			count++;
			num = num.divide(BigInteger.valueOf(10));
		}
		System.out.println(count);
	}
}

2.

几道笔试题

标签:

原文地址:http://blog.csdn.net/lane_l/article/details/44873467

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!