
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
System.out.println("2^" + n + " = "+ksm(n));
}
public static long ksm(int b)
{
long result=1;
int a=2;
while(b>0)
{
if((b&1)!=0)//奇数次要单独处理
{
result=result*a;//指数为奇数多的一次方乘进去
}
a=a*a;
b=b>>1;//相当于b=b/2;
}
return result;
}
}
该程序使用Java编写,主要功能是通过ksm函数进行快速幂运算。它读取用户输入的整数n,然后计算2^n的结果。ksm函数利用位操作优化了指数计算过程,当指数为奇数时进行特殊处理,然后每次将a平方并更新b的值右移一位,直到b变为0。
457

被折叠的 条评论
为什么被折叠?



