题解 | #扭蛋机# -- 根据结果推过程

扭蛋机

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

#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
using namespace std;
int main() {
    int N = 0;
    cin>>N;
    string s;
    while(N>0)
    {
        if(N%2==0)
        {
            s+='3';
            N=(N-2)/2;
        }
        else
        {
            s+='2';
            N=(N-1)/2;
        }
    }
    reverse(s.begin(),s.end());
    cout<<s;
    return 0;
}
// 64 位输出请用 printf("%lld")

奇数2*k+1和偶数2*k+2包含了所有的整数.其实输入一个数,想要推出前一个是什么:就是看当前的数为奇数还是偶数

1.奇数,则(奇数-1)/2

2.偶数,则(偶数-2)/2

此时推出前一个,循环表示当前数是否为0

结束循环时,结果为过程的逆序,reverse一下就可以了

全部评论

相关推荐

04-09 09:47
门头沟学院 Java
Arbelite_:2-3k,这工资还不如去摇奶茶
点赞 评论 收藏
分享
不懂!!!:感觉你的项目描述太简单了,建议使用star描述法优化提炼一下,就是使用什么技术或方案解决了什么问题,有什么效果或成果,例如:对axios进行了二次封装,实现了请求的统一管理、错误的集中处理以及接口调用的简化,显著提高了开发效率和代码维护性,使用canvas技术实现了路线绘制功能,通过定义路径绘制函数和动态更新机制,满足了简化的导航可视化需求,提升了用户体验。像什么是使用其他组件库,基本功能描述就最好不要写到项目成果里面去了,加油
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务