2的n次方计算

2的n次方计算

http://www.nowcoder.com/questionTerminal/35a1e8b18658411388bc1672439de1d9

分析:

题意中已经分析的很清楚表明使用位运算求解,对于整数而言向左移动一位则*2,故计算多少次方便可以左移多少位,另一种解法是使用库函数pow注意该函数的返回值为双精度类型需要接取小数点后的位数。

题解1:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a = 0;
    while(scanf("%d", &a) != EOF) {
        //循环读入之后调用pow函数计算结果,pow定义在cmath头文件
        printf("%.lf\n", pow(2,a));
    }
    return 0;
}

题解2:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int a = 0;
    while(scanf("%d", &a) != EOF) {
        //高效的实现可以使用左移,移动a位即为2的a次方
        printf("%d\n", 1 << a);
    }
    return 0;
}

总结:

简单位运算的使用。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 14:00
不想多说了,什么逆天HR,还要教我礼貌😂
机械打工仔:这不纯傻卵吗,他还操心上别人老板了
投递BOSS直聘等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-11 11:21
被夸真的超级开心,好可爱的姐姐
码农索隆:老色批们不用脑补了,我把金智妮的图找来了查看图片
点赞 评论 收藏
分享
缒梦&独舞:这家公司是这样的,去年给我实习offer了,不过也是面着玩儿的,他周六还要去做公益志愿活动
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务