【编程习题★★☆☆☆】指数结果取后三位

原创 2015年07月08日 11:41:16

问题:求整数3的33次方的后三位。

难度:★★☆☆☆

分析:定义long类型也无法装下这么大的结果。考虑3在计算乘法时,结果的低位只对高位有进位的影响,所以我们可以舍去结果的前n位,因为记录他们是多余的。

算法:每一次循环使用上一次结果*3,然后截取后3位作为本轮结果,反复循环即可求解。

参考JAVA代码:

public class BigPower {
	private int base;
	private int power;
	private int capturedigital = 1;
	
	public BigPower(int base, int power, int digital){
		this.base = base;
		this.power = power;
		for(int i = 0; i < digital; i++){
			this.capturedigital *= 10;
		}
		System.out.print(this.getResult(power));
	}
	
	private int getResult(int power){
		for(int i = 0; i < power; i++){
			base *= base;
			base = base - (base / capturedigital) *capturedigital;
		}
		return base;
	}
}
base是底数,power为指数,digital为截取位数,capturedigital为每轮截取结果。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

★☆【启发式搜索】【图论】Remmarguts' Date

Description "Good man never makes girls wait or breaks an appointment!" said the mandarin duck fathe...

★☆【平衡二叉树】【倍增】会议中心

Siruseri政府建造了一座新的会议中心。许多公司对租借会议中心的会堂很感兴趣,他们希望能够在里面举行会议。 对于一个客户而言,仅当在开会时能够独自占用整个会堂,他才会租借会堂。会议中心的销售主管认...
  • Whjpji
  • Whjpji
  • 2012-03-30 11:35
  • 5293

Numpy练习100题--难度★☆☆

Numpy练习100题--难度★☆☆

★★★★☆ Visual Studio 2008 每日小窍门 【持续发布ing~】 Tips:035

#035、 折叠和展开代码原文地址:http://blogs.msdn.com/saraford/archive/2007/09/12/did-you-know-how-to-collapse-and...

★☆图片免费上传☆★

  • 2009-06-11 21:44
  • 278B
  • 下载

☆★省电or流畅 ★ ☆

为了可以对几种常见的CPU频率调节模式有个基本的理解,下面简单的总结了一下,根据不同方式的特点,自己来在性能与省电这两对矛盾之间做个取舍,找出适合自己的平衡点吧!1、ondemand:系统默认的超频模...

☆~_菲ル。——IMMusic2012

  • 2012-07-16 15:49
  • 8.56MB
  • 下载

☆传纸条 双线程dp

From firewood ☆传纸条                 背...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)