java求次幂代码 java幂次方

怎样利用Java实现10位数的100次方的计算,求具体代码。谢谢!!!!

超过long的大小的时候要用到 

创新互联建站专注于土默特左旗网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供土默特左旗营销型网站建设,土默特左旗网站制作、土默特左旗网页设计、土默特左旗网站官网定制、成都微信小程序服务,打造土默特左旗网络公司原创品牌,更为您提供土默特左旗网站排名全网营销落地服务。

java.math.BigInteger; 这个类

这个类本身并不是数学计算,而是字符拼接模拟数学计算的显示效果。

计算的结果可以以字符串的形式输出。

代码部分:(main方法中)

BigInteger bi =new BigInteger("7894561230");

for(int i=0;i5;i++){ //5次方 理论上可以100次 但是会计算N久

bi = bi.multiply(bi);//multiply 表示乘法 add + ,sub -, div 是除

}

System.out.println(bi); //输出到屏幕看下结果

如何使用Java计算次方

计算2的N次方

时间限制: 1000ms内存限制: 65536kB

描述

任意给定一个正整数N(N=100),计算2的N次方的值。

输入

输入只有一个正整数N。

输出

输出2的N次方的值。

样例输入

5

样例输出

32

参考代码

[java] view plain copy print?

import java.util.*;

public class Main {

public final static int SIZE = 30;

public static void main(String[] args) throws Exception {

Scanner cin = new Scanner(System.in);

int n = cin.nextInt();

int res[] = new int[SIZE + 1];

int i;

for(i = 0;i SIZE;++ i){

res[i] = 0;

}

res[0] = 1;

while(n 0){

for(i = 0;i SIZE;++ i){

res[i] *= 2;

}

for(i = 0;i SIZE;++ i){

if(res[i] 9){

res[i + 1] += res[i] / 10;

res[i] %= 10;

}

}

n --;

}

boolean bl = false;

StringBuffer bf = new StringBuffer();

for(i = SIZE;i = 0;-- i){

if(res[i] != 0 || bl){

bf.append(res[i]);

bl = true;

}

}

System.out.println(bf);

}

}

根据高位低位改进的代码:

[java] view plain copy print?

/*

* Title :power 2

* From :

* Time :2011-10-11 21:10PM

* Author :Eric Zhou,binfeihan

* Email :binfeihan@126.com

*/

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class Main {

public static void main(String[] args) throws IOException{

BufferedReader cin = new BufferedReader(new InputStreamReader(System.in));

int n = Integer.parseInt(cin.readLine().trim());

System.out.println(my_power_2(n));

//System.out.println(Long.MAX_VALUE);

//System.out.println(Long.MIN_VALUE);

}

public static StringBuffer my_power_2(int N){

StringBuffer v = new StringBuffer("");

long num[] = new long[2];

num[1] = 1;

if(N 62){

num[0] = 1;

num[0] = num[0](N - 62);

num[1] = num[1]62;

String s = String.valueOf(num[1]);

int size = 30,i = 0,j = 0;

long n[] = new long[size + 1];

//System.out.println(num[0]+" "+s);

for(i = s.length() - 1;i = 0;-- i){

n[j ++] = (long) (num[0] * (s.charAt(i) - '0'));

//System.out.println(n[j - 1]);

}

for(i = 0;i size;++ i){

while(n[i] 9){

n[i + 1] += n[i] / 10;

n[i] %= 10;

}

}

boolean bl = false;

for(i = size;i = 0;-- i){

if(n[i] != 0 || bl){

v.append(n[i]);

bl = true;

}

}

}else{

num[1] = num[1] N;

v.append(String.valueOf(num[1]));

}

return v;

}

}

Java中怎样怎样算出求函数的幂次方?

java中通常进行数学运算的东西都在Math类中,求函数的幂次方就是Math类中的pow方法:public static double pow(double a, double b), 返回第一个参数的第二个参数次幂的值。

例如求2的3次方,代码如下:

public class test {

public static void main(String[] args) {

double a= Math.pow(2, 3);

}

}

运行结果为8

扩展资料:

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

与 StrictMath 类的某些数学方法不同,并非 Math 类所有等价函数的实现都定义为返回逐位相同的结果。此类在不需要严格重复的地方可以得到更好的执行。

默认情况下,很多 Math 方法仅调用 StrictMath 中的等价方法来完成它们的实现。建议代码生成器使用特定于平台的本机库或者微处理器指令(可用时)来提供 Math 方法更高性能的实现。这种更高性能的实现仍然必须遵守 Math 的规范。

实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math 方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于给定的浮点格式,特定实数值的 ulp 是包括该数值的两个浮点值的差。

当作为一个整体而不是针对具体参数讨论方法的准确性时,引入的 ulp 数用于任何参数最差情况下的误差。

如果一个方法的误差总是小于 0.5 ulp,那么该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一个正确舍入的方法通常能得到最佳的浮点近似值;然而,对于许多浮点方法,进行正确舍入有些不切实际。

相反,对于Math 类,某些方法允许误差在 1 或 2 ulp 的范围内。非正式地,对于 1 ulp的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回包括准确结果的两个浮点值中的一个。对于值很大的准确结果,括号的一端可以是无穷大。

除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。

因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样,只要数学函数是非递增的,浮点近似值就是非递增的。并非所有准确性为 1 ulp 的近似值都能自动满足单调性要求。

参考资料:


分享标题:java求次幂代码 java幂次方
文章出自:http://scyanting.com/article/hhjjpp.html