首页 > 试题广场 >

2的n次方计算

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

数据范围:

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


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

输入

2

输出

4
示例2

输入

10

输出

1024
头像 天灰灰1
发表于 2021-10-26 08:14:35
#include <stdio.h> int main() { int n; scanf("%d",&n); printf("%d",2<<(n-1)); //在2进制中,2的表示为00000010 //我们只使用移位符来完成2的n次方 展开全文
头像 青鱼29
发表于 2021-10-11 23:25:52
#include <stdio.h> int main() { //scanf()是一个有返回值的函数,用scanf读取几个数,则scanf的返回值为几。 int n = 0; //没有输入的时候就会停止循环 while(scanf("%d\n 展开全文
头像 Kurenai.Dokukawa
发表于 2022-02-21 16:07:19
#一行题解# #性能测试# #抽象化# // 这是一个不懂二进制的人也能很简单看懂的题解,不过这个题解性能不高 // 本方法计算(2*310) 100万次计时557.968ms print(2**int(input())) // 这是一个性能更高的题解,这个题解的说明将在下方写出 // 本方法计算 展开全文
头像 Portia356
发表于 2021-11-20 17:04:14
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); 展开全文
头像 还没xiang好
发表于 2020-10-13 00:31:26
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while 展开全文
头像 一只咖啡君
发表于 2022-11-21 09:34:58
#include <stdio.h> int main() { int n; scanf("%d", &n); printf("%d", 1 << n); return 0; }
头像 云小逸0987
发表于 2022-04-28 23:25:57
思路: 巧用pow函数即可 ">int main(void) { int i; scanf("%d",&i); i=pow(2,i); printf("%d",i); return 0; }
头像 飞菲
发表于 2023-11-02 18:55:05
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n= 展开全文
头像 不错就是对
发表于 2022-03-24 11:21:09
BC31 2的n次方计算 思路: step1:输入数字;打印2的n次方即可; 代码如下: n = int(input()) print(2**n)
头像 南湖星筱
发表于 2023-10-05 00:16:45
#include <stdio.h> int main() { int a, b=2; scanf("%d",&a); b=b<<a-1; printf("%d",b); return 0; 展开全文