首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
昨天 17:46
门头沟学院 销售工程师
任何人都可以拥有的超优秀实习经历
我发现实习话题上的网友分为两种:一种是正常交流经验的,一种是学历警察+大厂卫道士。第二种特征非常明显,看到有人分享小厂/创业公司实习就来嘴一句:这也算实习?没有大厂经历简历直接筛掉建议gap一年再投。可能名为职场焦虑有传染性,已经从应届生感染到在职人员了。几乎我看到的每一个非大厂实习经验贴下面都有这种学历警察。但小破二本学姐来现身说法:优秀的实习经历≠大厂logo,任何人都可以通过普通实习获得超优秀的成长!叠甲:大厂里的优秀实习肯定还是会更亮眼的嗯什么是真正优秀的实习?✅ 有清晰的产出✅ 掌握了某某技能✅ 理解并能复现完整的工作流✅ 能独立解决问题✅ 有可展示的作品这些能力,跟公司大小无关,跟...
任何人都可以系列
点赞
评论
收藏
分享
12-15 18:58
门头沟学院 Java
你秋招有多少份感谢信?
每天早上醒来第一件事:颤抖着打开邮箱,期待看到“恭喜录用”,实际看到“感谢投递”。从六月到十二月,邮箱里塞满了各种邮件,数量多到能写一本《秋招邮件图鉴》。今天咱们就来数数! 小小 146 封! 一、你的邮箱里都有啥? 感谢投递型(数量最多) 刚投完简历,邮箱就像被设置了自动回复:“已收到您的简历”“感谢您的投递”...这些邮件就像餐厅的迎宾语,礼貌但没实质内容。最绝的是,有些公司能连着发三封一模一样的,生怕你看不见。 流程通知型(让人又爱又恨) 笔试通知:看到就头疼,又要刷题了 面试邀请:心跳加速的时刻,赶紧查日历 宣讲会邀请:去还是不去?这是个问题 结果告知型(最牵动人心) 感谢信...
今年秋招你收到了多少封邮...
点赞
评论
收藏
分享
11-14 08:52
山东工商学院 Java
实习期间被导员抓到了被迫返校
😭😭本人大三上,运气好进了一家小公司实习,其实我就会个crud写了个外卖项目,但是有公司愿意收留我,我很珍惜这次实习机会,但是有个老师喜欢举报我们这帮逃课实习的,被导员压力了,说是什么领导来查,当天晚上让我立即回宿舍,明早必须去上课实际上第二天来根本没什么领导,导员说的后果很严重,说再被抓到就要把我这学期成绩清零然后上报我夜不归宿并且让我延毕😭但是我很珍惜这次实习机会,师傅对我很好什么问题都愿意帮我解决,一时半会也找不到替课的感觉很为难了,延毕感觉很麻烦
吴鹏阳:
这个老师如果爱举报,你这门课确实可能挂科,这没办法。但是辅导员所谓的延毕,,怎么说呢,毕业生的就业率可是辅导员的一大考核,他咋可能为了一个逃课实习去损害自己的利益呢?
点赞
评论
收藏
分享
11-20 14:39
已编辑
吉林大学 HRBP
咱就是说,某些招人的能别把应届生当傻子吗
好歹也是世界五百强集团下面的分公司,我没好意思说你抠门,你还pua上了。看到评论区有些想在长春求职的uu看了这个图片感觉很焦虑,我想说完全没必要,图里这位招聘人员完全是来搞笑的,又傻又坏。事实上这个工资对于长春双非大学的本科生来说也是非常低了。他说出这种的话的目的也是为了搅浑水,pua应届生让应届生焦虑,好把求职者变成他们的廉价劳动力。他发布的岗位的jd上学历要求只有专科。要不是此人多次邀请我投递简历和面试,我根本连投都不会投。他第一次邀请我投递简历时我看到jd已经婉拒了,我说我是应届生工作经验不符。可能我的“客套话”给了此人自信,让他后面来这么一出。各位求职的uu把这个事当个乐子看就得了。你要是信他的话你就输了。
夏日狂想曲:
985当大专招
秋招吐槽大会
点赞
评论
收藏
分享
12-14 19:13
快手_后端开发
RAG技术全解析:八股向(bushi
你是否想打造一个靠谱的知识客服,或是搭建能精准回答问题的知识库?这就绕不开一项核心技术——RAG(Retrieval Augmented Generation),中文译为“检索增强生成”。听起来高大上的技术,核心逻辑其实很简单:先从资料库里检索相关内容,再基于这些内容生成答案,即“先检索、再生成”,这也是其名称的由来。作为目前最常用的AI问答方案之一,RAG已广泛应用于企业知识助手、智能客服等场景。本文将从应用场景、核心原理、流程拆解、专业名词解析等方面,带你全面掌握RAG技术,搞懂高质量智能问答系统的构建逻辑。前言我认为AI的基础知识是现在求职和实际工作所必须掌握的,不管是算法还是后端前端岗...
聊聊我眼中的AI
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
2025,收获良多的一年
4060
2
...
2025年度总结-成长
3435
3
...
2025这一年真是辛苦了
3435
4
...
“我希望你把我当成资源,而不是老师。”
3166
5
...
我从反复确认,走向不再自证
2964
6
...
数字马力
2582
7
...
双非鼠鼠0实习0竞赛闯秋招的一年,重头再来我不会选这条路了
2325
8
...
留痕
1989
9
...
在回河南的火车上总结我的2025
1951
10
...
百度日常一二面面经已OC
1844
创作者周榜
更多
正在热议
更多
#
实习简历求拷打
#
5322次浏览
66人参与
#
你会为了工作牺牲生活吗?
#
66699次浏览
454人参与
#
秋招被挂春招仍然能投的公司
#
4849次浏览
81人参与
#
考研失败就一定是坏事吗?
#
198738次浏览
1354人参与
#
什么是优秀的实习经历
#
6615次浏览
191人参与
#
为了求职,我做过的疯狂伪装
#
75353次浏览
763人参与
#
mt对你说过最有启发的一句话
#
29403次浏览
362人参与
#
牛友们,签完三方你在忙什么?
#
128597次浏览
981人参与
#
摸鱼被leader发现了怎么办
#
96154次浏览
618人参与
#
巨人网络工作体验
#
71053次浏览
502人参与
#
你今年的保底offer是哪家
#
154369次浏览
670人参与
#
秋招特别不鸣谢
#
13377次浏览
169人参与
#
你投递的公司有几家约面了?
#
153729次浏览
990人参与
#
第一次面试
#
1035332次浏览
13679人参与
#
今年秋招你收到了多少封邮件?
#
16423次浏览
216人参与
#
工作中遇到的歹人
#
24214次浏览
284人参与
#
选实习,你更看重哪方面?
#
11251次浏览
201人参与
#
携程求职进展汇总
#
837739次浏览
5500人参与
#
滴!实习打卡
#
749002次浏览
6762人参与
#
毕业论文进行时
#
20396次浏览
127人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务