永发信息网

c语言 lowest bit 程序求解释

答案:2  悬赏:80  手机版
解决时间 2021-11-30 10:30
c语言 lowest bit 程序求解释
最佳答案
#include
#include
int main()
{
    int N;
    while(scanf("%d",&N)) //输入N的值
    {
        if(N==0)  //当输入的N为0的时候退出循环
            break;
        int t=0;
        while(N%2==0)  //N除以2取余数,余数为0时循环
        {
            t++;
            N=N/2;  //N除以2取商
        }
        printf("%d
",(int)pow(2,t));//打印出2的t次方
    }

    return 0;
}
全部回答
其实理解这道题的本质就可以理解算法了。
写成二进制后,他要求的就是从右向左第一个1的位置。而在二进制里,也就是2的(i-1)次方,i就是1的位置。
所以看程序,大循环是循环处理数字。
如果N==0那说明程序要结束,跳出while。
否则,用t表示1的位置,如果尾数不是1就除2,相当于右移。最终t获得1的位置后,pow(2,t)求出值
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
湖州火箭推进剂色谱分析工自我介绍中的误区
5除以3写作():(),读作()
梦见自己头戴蓝帽子
24除以0.5等于多少怎样验算
拆迁个人平方怎么从家中脱离
某校为了提高学生的身体素质,陶冶学生的情操
长征六号运载火箭有何特点?
电脑gtx1060,玩吃鸡无法用独立显卡,设置里
金虎眼石都是强酸腐蚀加工过的吗?光照半透明
无香气的白色花图片名称
潘凤是谁? 与吕布齐名? 三国无双上将? 无人可
补写出下列名句的上句或下句()(1)吾妻之美
王沈的介绍
D901次列车为什么票价十一涨钱
0。4乘0.89竖式计算
推荐资讯
快792列车什么时候到麻城?
现在买zoom kobe 1值么?
在以下情况中,带“--”物体所受的浮力增大的
住宾馆浑身痒怎么处理
lol盖伦模型重做前的技能介绍视频
十五年前西宁火烧山事件
求这个中心论点的事例啊,勇于挑战自我才能赢
麒麟正传默默怎么知道陆和队长的关系的?
用托盘天平称量某物质时,调零后将该物质置于
闲林镇闲林中路205号怎么去,贝因美的地址
4s店买真皮包的确是假皮怎么处理
QQmusic是什么?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?