频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
上机题目(初级)-高次方数的尾数(Java)
2016-01-18 09:18:23         来源:yayun0516的专栏  
收藏   我要投稿

题目如下:

代码如下:

package huawei;

public final class Demo {
	/*
	功能: 求解M的N次方的最后三位数(M,N均大于10)
	输入参数:
	    int M:M > 10
	    int N:N > 10
	返回值:
	    M的N次方的最后三位数
	*/

	public static int getLast3DigitsOfMN(int M, int N)
	{
		
		int result = 1;
	    for(int i = 0;i < N;++i){
	        result = (result * (M % 1000)) % 1000;
	    }
	    return result;
	
	}

}
当m, n很大时, m的n次方无法用基本的数据类型表示...分析可以发现, 乘积的最后三位只与乘数和被乘数的最后三位有关, 而与高位无关, 所以每次将乘积结果对1000取模即可...

用循环的方式求M的N次方,每次做乘法之后先除以1000取余,不然会造成数据溢出,这个题目就是考这个知识点(数据溢出)。

点击复制链接 与好友分享!回本站首页
相关TAG标签 尾数 题目
上一篇:从头认识java-17.7 执行器(Executor)
下一篇:从头认识java-17.6 Callable、Future和FutureTask
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站