符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
计算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”的平方表达式是pow (double x,double y)。
函数原型:double pow (double x,double y)。
功能:返回x的y次方。
如要在java中求9的平方,可写作double pow(double 9,double 9)。
平方是一种运算,比如,a的平方表示a×a,简写成a²,也可写成a×a(a的一次方乘a的一次方等于a的2次方),例如4×4=16,8×8=64,平方符号为2。
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
lang 包下的math类 的那些静态方法 经常用的要看一下
pow(double a, double b) 返回第一个参数的第二个参数次幂的值
pow(2,x-1);
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 的近似值都能自动满足单调性要求。
参考资料:
如:
//创建一个BigInteger对象可以传其他类型具体请查JDK_API文档。
BigInteger bigInt = new BigInteger("2");
//调用bigInt中pow方法参数表示你想求多少次方。
BigInteger bigPow = bigInt.pow(2);
//最后将得到的结果转成Long类型,注意这里是向下转型,可以会出现异常。
long bigLong = bigPow.longValue();
Math.pow(2,n)。
详细解释:
这不就是多个2相乘么,
public class test1 {
public static void main(String[] args) throws Exception {
int a = 1;
int n = 3;
for (int i = 0; i n; i++) {
a = a*2;
}
System.out.println(a);
}
}