题解 | #排列与二进制#

排列与二进制

https://www.nowcoder.com/practice/647fc23dc4e147328cc484e3aeb6cc2a

//C语言版代码
#include <stdio.h>
int main() {
    int n, m;
    while (scanf("%d%d", &n, &m) != EOF) {
        if (n == 0 && m == 0) break;
        int ans = 0;
        while (m--) {
            int temp = n;
            while (temp && temp % 2 == 0) {
                temp /= 2;
                ans++;
            }
            --n;
        }
        printf("%d\n", ans);
    }
    return 0;
}
//Python版代码
from math import perm
while True:
    try:
        n, m = map(int, input().split())
        if n==m==0:break
        s = bin(perm(n, m))
        print(len(s) - len(s.rstrip('0')))
    except:
        break

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 13:05
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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