E. Living Sequence

Problem - 1811E - Codeforces

问题描述:正整数中不能有4,问第k个数是多少

思路:不能选4,那就只有{0,1,2,3,5,6,7,8,9},可以发现这可以当作九进制,将k转为9进制,对于大于等于4的进行++操作,这样就避免了4的存在。

代码:

cpp 复制代码
void solve() {
    LL n; cin>>n;
    vector<int> ans;
    while(n) {
        ans.push_back(n%9);
        n /= 9;
    }
    reverse(all(ans));
    for(auto &t: ans) if(t >= 4) t++;
    for(auto t: ans) cout<<t;
    puts("");
}
相关推荐
专注仿真5 小时前
ACM算法
算法·深度优先
顺顺 尼7 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考7 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu8 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
mmmmath_38 小时前
LeetCode.225.用队列实现栈
算法
Elaine3368 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
2601_965742228 小时前
布局GEO AI本地营销,我重点看这几个细节
大数据·人工智能·算法·ai·新媒体运营
EatFan8 小时前
AI Agent 上生产前先加三道闸门:审批、限权、可回放的工程实践
人工智能·python·算法·多智能体·ai agent·mcp·harness
思茂信息8 小时前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
Persistent的粽子!9 小时前
双指针算法:最大盛水容器
c++·算法·leetcode