题解 | #C 小数字#

小数字

https://ac.nowcoder.com/acm/contest/99458/C

C 小数字

足够大的时候,

小到一定程度时,以上大小关系才会发生一定变化。

并且当 时,我们发现只有 的操作可以让 减少。

所以我们定一个界限(比如10),然后大范围开根号,小范围判断,小于0的时候直接计算即可。

#include <bits/stdc++.h>
using namespace std;

void solve() {
    int n, m;
    cin >> n >> m;
    while(m -- ) {
        if (n >= 10) {
            n = ceil(sqrt(n));
        } else if (n >= 0) {
            int m1 = ceil(sqrt(n));
            int m2 = n - 1;
            int m3 = (n + 1) / 2;
            n = min(min(m1, m2), m3);
        } else {
            n -= m + 1;
            break;
        }
    }
    cout << n << endl;
}

int main(){
    int T; cin >> T;
    while (T -- ) solve();
    return 0;
}
全部评论

相关推荐

等闲_:感觉有好多地方会被问穿,mysql存储向量这个方案问题应该很大的,如果深问的的话,为什么不用es,不用pg,不用mivus,分块策略是怎么做的,向量化是怎么向量化的,稠密向量还是稀疏向量,再深问余弦相似度,HSWM算法,Bm25算法,为什么不用混合检索或者Rank重排序优化?其他的项目不停机分库分表咋实现的,切库过程中数据有diff的话有没有补偿策略?既然有了分库分表了有没有碰到业务上不好优化的慢sql,让这个sql读从库?而且点评的话,最好自己压测过,要不这个数据也不好解释。现在就27的情况来看,很多同学已经有了中大厂实习,这个节点也会偏向这些有大厂实习的92同学,而且hc也不多,所以坚持海投吧
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

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