2021-11-09

题目描述

秋冬季阳关明媚的上午,老师带领同学们在做一个游戏,首先同学们排成一列,然后从 1 开始依次给同学们一个编号,如果有 5 位同学,他们的编号依次为1、 2、 3、 4、 5。 游戏的规则如下:

1) 从队头开始依次按一、二、一、二、 ……报数,凡是报到数为二的出来;

2)剩余的同学依次靠拢重新排成一列, 从队头开始依次按一、二、 一、二、 ……报数,凡是报到数为三的出来;

3) 重复第 1)、 2),直到剩余的人数不超过 3 为止。

输入说明

输入数据只有一行一个正整数 n,表示学生人数。

输出说明

一行由空格分隔的若干正整数。

输入样例

5

输出样例

1 3 5

也许正确吧

#include<stdio.h>                 //printf和scanf函数要用的
#include<math.h>                  //pow函数要用到的头文件

int main() {
    int n, count = 0;
    scanf("%d", &n);              //记得‘&’符号啊!
    float n1 = n;                 //类型转换,临界点要仔细考虑
    while(n1 > 3) {               //规律就是自己多试试
        n1 /= 2;                  //试着试着也许就了解一些了
        count ++;                 //草稿纸上演练一下
    }
    int zen = pow(2, count);      //2的count次方
    printf("%d ", 1);
    printf("%d ",1 + zen);
    if(1+2*zen <= n)              //判断一下第三次能否满足条件
        printf("%d", 1 + 2 * zen);
    return 0;
}

记录完毕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值