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

原创 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为每轮截取结果。



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

A^B取后三位

D - D Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status...
  • idealistic
  • idealistic
  • 2016年07月23日 10:34
  • 93

社团划分结果评估指标:Q、ARI、NMI

Face the past with the least regrets, face the present with the least waste and face the future with...
  • DreamHome_S
  • DreamHome_S
  • 2017年10月06日 21:35
  • 349

【经典例题】高次幂的后几位数

程序:/* Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者:赵玲玲 * 完成日期:2014 年 1 月 17 日 * 版 本...
  • u012370487
  • u012370487
  • 2014年01月18日 08:11
  • 1086

求a的b次幂的最后3位(难度:1颗星)

问题描述:输入a,b,其中a和b的范围是【2,999999999】,求出a的b次幂的最后3位。PS: 如果最后三位是001,那么输出1就可以了。问题分析:这个问题的实际上是求a的b次幂mod 100...
  • yi_ming_he
  • yi_ming_he
  • 2017年05月27日 17:05
  • 10829

Python工具:保留小数的指定有效位数

处理一个数据文件,发现数据不一致,小数点后有三位、四位、六位、更多位。部分还进行四舍五入。 需要对数据文件进行处理。如果有效位超过6位,则四舍五入。如果小于6位,则保持原来的数字不变。 考虑两种情况:...
  • ztf312
  • ztf312
  • 2016年04月12日 17:59
  • 9947

UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位)

题目: UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位) 题目大意:给你N的k次方,然后要求你求出这个数的前三位和后三位。 解题...
  • u012997373
  • u012997373
  • 2014年09月09日 10:38
  • 705

a的b次方后三位

Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Descr...
  • lu_1110
  • lu_1110
  • 2016年06月25日 15:11
  • 743

js javascrip 截取小数点后几位

在开发过程中经常遇到要调整小数的格式,如保留小数点后两位等等。方法也颇为常见,备忘如下。  第一种,利用math.round     var original=28.453 1) //r...
  • yixiaotian1988
  • yixiaotian1988
  • 2012年07月25日 11:44
  • 4397

JS保留两位、三位小数(带四舍五入)

js保留2位小数toFixed(xxxx)  var  a   =   9.39393;      alert(a.toFixed(2));   alert(Number.to...
  • xueshandugu
  • xueshandugu
  • 2015年04月22日 11:31
  • 6377

mysql查询字段取前3位,后3位,中间3位,去除前3位,去除后3位

截取从第3位开始的一共8位数 SELECT SUBSTRING(payment_id,3,8) from sdb_ectools_payments  去掉字符后5位 SELECT SUB...
  • u011447828
  • u011447828
  • 2014年12月17日 11:40
  • 2555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【编程习题★★☆☆☆】指数结果取后三位
举报原因:
原因补充:

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