题解 | #扭蛋机#

扭蛋机

https://www.nowcoder.com/practice/9d26441a396242a9a0f7d2106fc130c7

#include <stdio.h>
//因为是2x+1或者2x+2,所以22娘扭蛋的结果是奇数,33娘扭蛋的结果是偶数;
/*
2x + 1 = n, x = (n - 1) / 2,上一步为奇数
2x + 2 = n, x = (n - 2) / 2,上一步为偶数
*/
int main() {
    int n, k = 0;
    int arr[100] = {0};
    scanf("%d", &n);
    while (n > 0) {
        if (n % 2 == 0) { //偶数
            arr[k++] = 3;
            n = (n - 2) / 2;
        }

        else {
            arr[k++] = 2;  //奇数
            n = (n - 1) / 2;
        }
    }
    for (int i = k - 1; i >= 0; i--)
        printf("%c", arr[i] + '0');

}

C语言刷题 文章被收录于专栏

自己从头开始刷的C语言

全部评论

相关推荐

04-28 22:33
已编辑
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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