不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。
数据范围:
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); int sum = 1; for(int i = 0; i < num; i++){ sum *= 2; } System.out.print(sum); } }
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case int n = in.nextInt(); int result = 2; if(n == 0){ result = 1; }else{ for(int i = 1; i < n; i++){ result = result << 1; } } System.out.println(result); } } }