首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
KYwlzr
2017-03-07 21:13
已编辑
吉林大学 C++
关注
已关注
取消关注
20170307C++牛客笔试题
编程 40%(素数幂) 90%(序列) 100%(算法书)
求大神粘一下100%的前两题
提示
全部评论
推荐
最新
楼层
stdc++
济南幼儿师范学校 算法工程师
第一题: #include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include <string> #include <map> #include <vector> #include <set> #include <climits> #include <ctime> #include <cassert> #define IOS ios_base::sync_with_stdio(0); cin.tie(0); using namespace std; typedef long long ll; #define mp make_pair #define fi first #define se second #define pb push_back const double pi = acos(-1.0); const int inf = 0x3f3f3f3f; const ll INF = 0x3f3f3f3f3f3f3f3fll; const int MAX_N = 1001000; int prime_cnt; int vis[MAX_N], prime[MAX_N]; void Sieve() { memset(vis, 0, sizeof (vis)); prime_cnt = 0; for (int i = 2; i < MAX_N; ++i) { if (!vis[i]) prime[prime_cnt++] = i; for (int j = 0; j < prime_cnt && 1ll * i * prime[j] < MAX_N; ++j) { vis[i * prime[j]] = 1; if (i % prime[j] == 0) break; } } } ll n; bool isPrime(ll x) { for (int i = 2; 1ll * i * i <= x; ++i) { if (x % i == 0) return false; } return true; } int main() { Sieve(); while (~scanf("%lld", &n)) { if (n > 10000) { ll q = (ll)sqrt(n + 0.5); if (isPrime(q) && q * q == n) { printf("%lld %d\n", q, 2); continue; } else if (isPrime(q + 1) && (q + 1) * (q + 1) == n) { printf("%lld %d\n", q + 1, 2); continue; } else if (isPrime(q - 1) && (q - 1) * (q - 1) == n) { printf("%lld %d\n", q - 1, 2); continue; } } int exp = 0, flag = 0; ll x = n, ret = 1; for (int i = 0; i < prime_cnt; ++i) { if (x % prime[i] == 0) { int cnt = 0; while (x % prime[i] == 0) cnt++, x /= prime[i]; ret = prime[i]; if (x == 1 && cnt > 1) exp = cnt, flag = 1; break; } } if (flag) printf("%lld %d\n", ret, exp); else printf("No\n"); } return 0; } 第二题: #include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include <string> #include <map> #include <vector> #include <set> #include <climits> #include <ctime> #include <cassert> #define IOS ios_base::sync_with_stdio(0); cin.tie(0); using namespace std; typedef long long ll; #define mp make_pair #define fi first #define se second #define pb push_back const double pi = acos(-1.0); const int inf = 0x3f3f3f3f; const ll INF = 0x3f3f3f3f3f3f3f3fll; const int MAX_N = 10010; int main() { int n, L; while (~scanf("%d%d", &n, &L)) { int find = 0, st = -1, len = 0; for (int i = L - 1; i <= 100; ++i) { if (2 * n % (i + 1)) continue; int p = 2 * n / (i + 1) - i; if (p < 0 || (p % 2)) continue; st = p / 2, len = i + 1, find = 1; break; } if (find == 0) puts("No"); else { for (int i = 0; i < len; ++i) { printf("%d", i + st); if (i < len - 1) printf(" "); else printf("\n"); } } } return 0; } 第三题: #include <iostream> #include <stdio.h> #include <string.h> #include <math.h> #include <algorithm> #include <string> #include <map> #include <vector> #include <set> #include <climits> #include <ctime> #include <cassert> #define IOS ios_base::sync_with_stdio(0); cin.tie(0); using namespace std; typedef long long ll; #define mp make_pair #define fi first #define se second #define pb push_back const double pi = acos(-1.0); const int inf = 0x3f3f3f3f; const ll INF = 0x3f3f3f3f3f3f3f3fll; const int MAX_N = 10010; int n; ll num[15], pw[15]; int main() { pw[0] = 1; for (int i = 1; i < 15; ++i) pw[i] = pw[i - 1] * 10; while (~scanf("%d", &n)) { int digit[15], len = 0, x = n; while (x) { digit[len++] = x % 10; x /= 10; } memset(num, 0, sizeof (num)); for (int i = 1; i < digit[len - 1]; ++i) num[i] += pw[len - 1]; num[digit[len - 1]] += (n % pw[len - 1] + 1); for (int i = len - 2; i >= 1; --i) { int former = n % pw[i + 1], latter = n / pw[i]; for (int j = digit[i] + 1; j < 10; ++j) num[j] += 1ll * former * pw[i]; num[digit[i]] += 1ll * former * pw[i]; if (digit[i] > 0) num[digit[i]] += latter + 1; for (int j = 1; j < digit[i]; ++j) num[j] += pw[i] * (former + 1); if (digit[i] > 0) num[0] += 1ll * former * pw[i]; } if (n > 9) { ll former = n / pw[1]; int k = digit[0]; for (int i = k + 1; i < 10; ++i) num[i] += former; for (int i = 0; i <= k; ++i) num[i] += (former + 1); } num[0] -= 1; for (int i = 0; i < 10; ++i) { printf("%lld", num[i]); if (i < 9) putchar(' '); else putchar('\n'); } } return 0; }
点赞
回复
分享
发布于 2017-03-07 21:41
武汉孙一峰
华中师范大学 C++
蒟蒻第一题用欧拉质数筛选虽然o(n),然而算幂的时候超时了,尴尬。 膜拜楼上一群数位dp随便干的daliao。
点赞
回复
分享
发布于 2017-03-07 21:45
MatthewMatt
家里蹲大学 C++
我怀疑碰到了个假人 我的也是 40 90 100 好巧~
点赞
回复
分享
发布于 2017-03-07 21:42
Yellow_p
广东工业大学 C++
第一题感觉是找最小质因数;= = 感觉怎么都会TLE所以就跳了。 第二题用等差数列求和公式,你逆向使用一下,= = 90%也是很费解。
点赞
回复
分享
发布于 2017-03-07 21:24
牛客470556号
南京大学 算法工程师
第一题50%说超时了,求100%代码
点赞
回复
分享
发布于 2017-03-07 21:23
小乌
电子科技大学 Java
第一题遍历都只40%,咋回事
点赞
回复
分享
发布于 2017-03-07 21:13
向宇同桌
牛客网创始人
这成绩还不错啊
点赞
回复
分享
发布于 2017-03-07 21:12
拖仔
东北大学 C++
第一题40% 后两题。。。。不说了 哎
点赞
回复
分享
发布于 2017-03-07 21:10
小乌
电子科技大学 Java
第三题,感谢
点赞
回复
分享
发布于 2017-03-07 21:08
暂无评论,快来抢首评~
相关推荐
04-06 15:21
厦门大学 电路设计工程师
材料本科,985集成电路硕士,目前在做 AI + 材料计算加速,迷茫该走数字 IC 验证还是直接转码
双非材料本、985集成电路硕,导师让做AI加速材料计算,但组里没底蕴,想转数字IC验证或直接转码,想问问各位大佬该怎么选?我现在导师的课题组方向非常杂,模拟、数字、算法、器件都有人做,导师本人对学术细节基本不管。给我安排的方向是“利用神经网络应用在材料计算的加速上”,平时主要在弄Python、VASP和神经网络。虽然听起来是AI for Science的前沿方向,但我感觉组里完全没有这个底蕴,导师也给不出实质性指导,感觉找不到对口的工业界岗位。我目前掌握Matlab、Python和基本的C语言,有一些编程基础。现在的纠结在于:是趁着研一刚开始,赶紧自学SystemVerilog和UVM往数字I...
点赞
评论
收藏
分享
04-03 12:20
复旦大学 算法工程师
虾皮NLP秋招补录一二三面面经 排序挂
一面简历拷打1. GSPO相对于GRPO最大的区别是什么?2. LoRA在初始化的时候,有什么特殊设定?3. LoRA实际训练时,base模型的参数是固定不变的吗?4. LoRA中A和B都设置成0可以吗?5. LoRA中A和B都设置成0时,求梯度的时候一直都是0吗?手撕6.给定一个数组,求其中逆序对的个数。7.给定一个包含正数和负数的数组,求其中连续子数组的最大乘积。二面简历拷打1.为什么需要多智能体?单智能体不能做吗2.LangGraph相对其他开源智能体编排工具的优点是什么?3.在现有场景中是否需要用到LangGraph的状态管理功能?4.如何理解Long-term Memory的实现方式...
点赞
评论
收藏
分享
03-04 18:48
北京体育大学 测试工程师
现在这个时代 前端的要求已经进化成这样了吗
难道前端真的已经不行了?
饿魔:
这还是前端吗
点赞
评论
收藏
分享
04-07 00:18
广西大学 算法工程师
蚂蚁 AI应用开发 一面
1. 先做一下自我介绍2. 讲讲你做的这个项目这个项目可以设计成面向投研分析师的问答和报告辅助系统,支持财报解析、公告问答、指标对比和结论摘要。整体链路一般包括文档接入、结构化解析、分块索引、检索增强、模型生成和结果回溯。我主要负责的是文档清洗、分块策略、Embedding 入库、重排、长上下文裁剪和推理链路监控。项目里比较难的点在于文档质量参差不齐,表格、脚注和跨页内容很多,直接切分会严重影响召回效果,所以后面会专门做表格提取和层级切片。3. 怎么解决大事务问题,为什么会导致这些风险大事务的风险主要在于占锁时间长、回滚成本高、undo log 膨胀、主从延迟和数据库连接占用时间过久。尤其是在...
查看15道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
谁都可能在说谎,但财报不会骗人
3.1W
2
...
招行给AI时代数字金融人的答案
1.6W
3
...
我感觉我遇到神仙mentor了
1.3W
4
...
大模型Agent面试全攻略(附答题思路)
1.1W
5
...
春招产品内卷到什么程度了
6400
6
...
入职翼支付2年多,聊聊感受
5924
7
...
秋招失利别慌,好offer不怕晚
5062
8
...
携程工作体验
4860
9
...
上线一个月了,说几句真心话
4564
10
...
只有我觉得暑期很难找吗?!
4433
创作者周榜
更多
正在热议
更多
#
Agent面试会问什么?
#
17505次浏览
580人参与
#
春招至今,你收到几个面试了?
#
51466次浏览
727人参与
#
厦门银行科技岗值不值得投
#
18050次浏览
419人参与
#
给工作过的公司写一条大众点评,你会怎么写?
#
5984次浏览
95人参与
#
一人分享一个skill
#
4334次浏览
123人参与
#
烂工作和没工作哪个更痛苦?
#
14356次浏览
233人参与
#
面试体验最好和最差的公司
#
16845次浏览
98人参与
#
哪些公司一直卡在简历筛选
#
98476次浏览
295人参与
#
我们是不是被“优绩主义”绑架了?
#
43573次浏览
533人参与
#
拼多多工作体验
#
54658次浏览
364人参与
#
AI替代不了什么?
#
9529次浏览
135人参与
#
央国企投递记录
#
186783次浏览
1706人参与
#
你收到了团子的OC了吗
#
1582473次浏览
11849人参与
#
我是XXX,请攻击我最薄弱的地方
#
71425次浏览
469人参与
#
现在入门AI首先要做什么?
#
3124次浏览
76人参与
#
面试尴尬现场
#
223897次浏览
868人参与
#
学历VS实习,哪个更重要?
#
24622次浏览
322人参与
#
运营每日一题
#
134033次浏览
924人参与
#
机械人面试中的常问题
#
266371次浏览
3686人参与
#
读研or工作,哪个性价比更高?
#
93049次浏览
791人参与
#
实习心态崩了
#
113162次浏览
614人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务