首页 > 试题广场 >

2的n次方计算

[编程题]2的n次方计算
  • 热度指数:47544 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。

数据范围:

输入描述:
一行输入整数n(0 <= n < 31)。


输出描述:
输出对应的2的n次方的结果。
示例1

输入

2

输出

4
示例2

输入

10

输出

1024
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);
        
    }
}

发表于 2024-05-31 17:10:29 回复(0)
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(1 << n);
    }
}
发表于 2023-10-23 09:06:00 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        int n=in.nextInt();
        System.out.print(2<<(n-1));
    }
}
发表于 2023-06-21 17:34:19 回复(0)
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);
        }
    }
}

发表于 2022-10-27 08:55:50 回复(0)
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        System.out.println((int)Math.pow(2,n));
    }
}

发表于 2022-08-09 08:56:19 回复(0)
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        System.out.println((int)Math.pow(2,n));
    }
}

发表于 2022-06-23 15:10:21 回复(0)
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        System .out.println((int)Math.pow(2, a));
    }
}

发表于 2022-06-14 11:47:33 回复(0)
import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
               int n=sc.nextInt();
               int result = 1 <<n;  
         System.out.print(result);
    }
}

发表于 2022-04-27 15:28:27 回复(0)
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        double b = Math.pow(2,a);
        System.out.print((int)b);
    }
}
发表于 2022-02-17 16:20:33 回复(0)
import java.util.Scanner;

import static java.lang.Math.pow;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()){
            System.out.println(1<<in.nextInt());
        }
    }
}

发表于 2021-10-19 13:24:48 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            int a = in.nextInt();
            System.out.println(2 << a-1);
        }
    }
}

发表于 2020-07-01 14:59:57 回复(0)

每左移就变为原来的2倍

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextInt())
        {
            int n=sc.nextInt();
            int result=2<<(n-1);
            System.out.println(result);
        }
    }
}
发表于 2020-03-25 22:16:02 回复(0)