首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
02-04 21:00
中国通信服务_HR(准入职员工)
网易互娱内推,网易互娱内推码
网易**不管问你啥,记住一个话术原则小小的提醒下各位留子:**时不要直来直去有啥说啥;千万得多思考别说太满给自己留个思考或回旋的余地・1、被问 “有没有接触过网易的产品”(哪怕了解不多)别直接说 “没有”(容易显得缺乏兴趣)试试:“之前用过网易云音乐和网易新闻,对产品的界面设计和功能逻辑有过留意。虽然没有深入研究,但能感受到网易产品注重用户体验的特点,入职后会系统学习相关产品知识”・2、被问 “能接受高强度的项目加班吗”别勉强说 “没问题”(后续可能难以承受)试试:“我理解互联网行业项目推进时需要集中精力,在关键节点愿意配合团队加班。但也会注重提升工作效率,合理规划时间,尽量在正常工作时间完成...
点赞
评论
收藏
分享
02-05 14:48
汤臣倍健_市场倍优生(准入职员工)
三棵树内推,三棵树内推码
三棵树ai测评行为能力1.请做一段自我介绍,说说你的教育背景,实习经验等,用时不超过5分钟。2.在你的学习和项目经历中,你似乎经常面临时间紧迫、任务繁重的挑战,能否分享一个具体的例子,描述一下在面对这些压力时,你如何管理和应对及最终达成目标的。3.你参与的这个项目最终的成果如何,你的成果得到了哪些方面的认可和表彰。4.回忆一下在你的学习或实习经历中,有一次你主动追求极致,把事情做到最好的例子,你当时究竟做了什么,为什么选择这么做,怎么证明这件事已经做到了最好。5.请回忆一个在团队工作里,你和团队成员没能达成一致意见的情况,当时你具体是怎么做的,说了什么去影响对方,最后结果是怎样的呢?6.从你的...
点赞
评论
收藏
分享
01-27 11:06
厦门大学 Java
零实习进大厂,本质上是因为他们的简历证明了他们不需要通过实习来证明能力。很多同学在大二大三就参加过ACM-ICPC等顶级算法竞赛,拿过金银牌,这种含金量远超一份在大厂里偶尔修修边角的实习经历。面试官在招人时,逻辑非常简单:实习经历是证明“你做过类似的事”,而竞赛成绩和高质量的开源项目证明的是“你具备极强的学习和解决问题的潜力”。在大厂看来,潜力往往比经验更值钱,因为经验可以积累,但那种极客般的敏锐度是很难培养出来的。
迷茫的大四🐶:
是因为有比实习更能够证明他们能力的东西
为什么有人零实习也能进大...
点赞
评论
收藏
分享
02-02 14:33
vivo_数据算法工程师(准入职员工)
正浩创新内推,正浩创新内推码
26届女硬件工程师丨正浩创新面经及流程9.1一面1.自我介绍2.有无相关电源设计项目或经历,并浅谈3.DCDC拓扑手撕(但是我当时没带纸笔所以口头描述),BUCK和BOOST,同步异步的区别和优缺点,同步电路的控制方式(施加什么PWM波形,如何控制MOS通断)4.项目中最有挑战性的部分,怎么解决的,然后会深挖这一部分再提问(这个问题出现的根本原因,下次如何避免)5.面试官说我专业其实不是很对口,不是电气工程专业,所以问的比较浅,大家仅供参考9.2收到笔试链接,非笔试,为性格测试9.5收到二面短信9.8 二面,没有技术问题,主要问了在校做过什么项目,调试遇到什么问题,除此之外有没有做过电源相关项...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
阿里社招一面
3383
2
...
美团50亿收购叮咚买菜,校招HC会变多吗
2678
3
...
有了AI之后,程序员能不能干到65岁?
2556
4
...
AI大模型从业者聊Agent:附上学习路径
2501
5
...
字节飞书测开日常oc,附上面经
2442
6
...
为什么说Java+langchain4j/spring AI依旧是传统后端
2130
7
...
字节日常实习三面 (已oc)
2084
8
...
测开前景
1938
9
...
腾讯2026技术提前批后台开发一面
1733
10
...
字节的offer流程需要多久
1687
创作者周榜
更多
正在热议
更多
#
在大厂上班是一种什么样的体验
#
10586次浏览
132人参与
#
你认为工作的意义是什么
#
249191次浏览
1498人参与
#
程序员找工作至少要刷多少题?
#
18329次浏览
246人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
4535次浏览
147人参与
#
我现在比当时_,你想录用我吗
#
8634次浏览
111人参与
#
机械人避雷的岗位/公司
#
43370次浏览
298人参与
#
一张图晒一下你的AI员工
#
4997次浏览
114人参与
#
论秋招对个人心气的改变
#
10770次浏览
154人参与
#
关于春招/暑期实习,你想知道哪些信息?
#
7420次浏览
119人参与
#
刚入职的你踩过哪些坑
#
6783次浏览
127人参与
#
AI Coding的使用心得
#
4601次浏览
101人参与
#
晒晒你司的新年福利
#
8415次浏览
105人参与
#
牛客AI体验站
#
6702次浏览
185人参与
#
12306一秒售罄,你抢到回家的票了吗?
#
1944次浏览
47人参与
#
柠檬微趣工作体验
#
14769次浏览
83人参与
#
总结:哪家公司面试体验感最差
#
92985次浏览
430人参与
#
程序员能干到多少岁?
#
8549次浏览
115人参与
#
你认为小厂实习有用吗?
#
118024次浏览
679人参与
#
互联网公司评价
#
485579次浏览
4109人参与
#
应届生进小公司有什么影响吗
#
118270次浏览
1159人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务