三冬四夏会不会有点漫长 2024-01-13 23:04 采纳率: 91.7%
浏览 15
已结题

找到2的整数次幂,可以这样子求吗,为什么我这个代码过不了呢

题目

题目描述
有n个人要进行比赛,比赛规则如下:

假设每轮比赛的人是m,取最大的k,k=2t且k≤m。这k个人每2人举行一场比赛,胜利者进入一下轮,失败者被淘汰。
余下的m-k个人,不进行比赛,直接进入下一轮
直到决出冠军,比赛结束。
比如有5个人参加比赛,第一轮举办2场,剩余3人进入第二轮,第二轮1场,剩余2人进入第三轮,第三轮举办1场决出冠军,所以一共要办4场比赛。 请问一共要举行几轮多少场比赛?

输入
第一行是一个整数K,表示样例的个数。 以后每行一个样例,为n(1≤n≤1000000000)

输出
每行输出两个整数,轮数和比赛场数,中间用一个空格隔开。

样例输入
2
1
5
样例输出
0 0
3 4

#include<stdio.h>

int main()
{
    int t;
    scanf("%d",&t);
    
    while(t--)
    {
        int n;
        scanf("%d",&n);
        
        int cnt1=0,cnt2=0;
        while(n!=1)
        {
            int temp=n%2;
            int m=n-temp;//找到最大的2的整数次幂
            
            cnt1++;
            cnt2+=m/2;
            n-=m/2;
        }
        
        printf("%d %d\n",cnt1,cnt2);
    }
    
    return 0;
}

疑问

样例能过,没有问题,提交之后是WA

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-15 01:03
    关注

    【相关推荐】




    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月28日
  • 已采纳回答 1月20日
  • 创建了问题 1月13日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表