首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
今天 00:13
已编辑
门头沟学院 Java
百度Java日常实习一面
最近每天更新一篇,都是老素材去年面的。想冲一冲1000人品的奖章。uu们觉得有帮助的话不妨点个追番,送送花,陈某定带你一路飞驰(凡人修仙传台词)。1.自我介绍2.项目里有什么技术难点吗?3.kafka的架构4.kafka怎么保证数据不丢失5.kafka怎么解决重复消费问题6.kafka的消费顺序性怎么保证7.AQS原理(简历里写了就特别喜欢问)8. jvm内存划分,垃圾回收9.JAVA对象的生命周期10.你用的jdk版本,是哪个垃圾回收器。还了解其它垃圾回收器吗11.redis数据结构,说几条redis原生命令12.mysql三大日志,存了什么,作用13.Spring里怎么实现事务14.让你自...
投递小米集团等公司8个岗位 >
点赞
评论
收藏
分享
昨天 19:39
华南理工大学 C++
面试以来遇见的最好的面试官
腾讯tme记忆写:1.介绍自己2.问我会go吗,我说不会,但是有了解gmp模型这些2.没有让我介绍自己的项目,估计他都见过,所以后面几乎全是一些底层,底层到底层的底层3.介绍一下编译的过程4.给你一个编译好的程序,如何判断是否是32位还是64位(回答通过读取elf头)5.elf头部有什么东西()(回答有对应执行程序的起始地址偏移量,以及记录程序相关信息,乱答的)6.看你有一个fastdfs文件系统的项目(估计面试官以为我自己写了一个fastdfs系统,我是在这个基础上二次开发呢,因为面试官没让我介绍项目),给你一个linux文件,一个进程在读取,另...
点赞
评论
收藏
分享
04-21 16:51
掌阅科技_后端开发(准入职员工)
关于我解约,hr直接翻脸
事情也不是很大,但是就觉得很搞笑。这里我确实做的不太妥没有表达清楚我的诉求,但是你是专业干这个的你不是应该比我更加清楚吗?买卖不成仁义在啊!没必要直接这么翻脸吧?#签约/解约注意事项#
许长渭:
这也不算翻脸啊 你要觉得她态度不好直接在微信上说他不就行了 没必要当面一套背后一套
签约/解约注意事项
点赞
评论
收藏
分享
03-18 09:45
莆田学院 golang
二本春招、求看简历
有过一段中厂+小厂实习,希望大佬们看看简历有什么问题
牛客749342647号:
佬,你这个简历模板是哪个,好好看
点赞
评论
收藏
分享
05-13 13:19
已编辑
门头沟学院 Java
滴滴-秋储
想知道大家的面试时间,面试的部门,看看池子多大。timeline:5.9: 一二面5.13:oc (出行)祝大家也收到oc
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
牛友们,我们一起鼓励下他吧😭
2.3W
2
...
面试时反问这些显得很有"水平"
2.1W
3
...
美团Java日常实习一面
1.4W
4
...
双非春招及补录总结
1.0W
5
...
滴滴oc
9092
6
...
0 offer 选手的最后通碟
7876
7
...
感谢牛爱网,已经见家长了!!
7499
8
...
大二双非非科班成功拿下字节offer
6740
9
...
学生到打工人的转换最重要的就是主动
5581
10
...
谢谢ai告诉我,人生或许根本不需要宏大目标
5064
创作者周榜
更多
正在热议
更多
#
牛油的搬砖plog
#
16755次浏览
87人参与
#
哪些企业的面试体验感最差?
#
22984次浏览
224人参与
#
一人一个landing小技巧
#
15900次浏览
298人参与
#
我在牛爱网找对象
#
174994次浏览
1280人参与
#
面试问题记录
#
102939次浏览
1436人参与
#
腾讯音乐求职进展汇总
#
84981次浏览
471人参与
#
2022毕业生求职现身说法
#
82368次浏览
686人参与
#
520告白墙
#
8092次浏览
148人参与
#
找工作的破防时刻
#
17488次浏览
276人参与
#
实习学不到东西怎么办?
#
200724次浏览
2083人参与
#
你觉得第一学历对求职有影响吗?
#
74729次浏览
545人参与
#
职场吐槽大会
#
195602次浏览
1578人参与
#
微软计划裁员
#
2206次浏览
56人参与
#
贝壳求职进展汇总
#
20433次浏览
144人参与
#
选完offer后,你后悔学本专业吗
#
42531次浏览
221人参与
#
安利/避雷我的专业
#
70881次浏览
502人参与
#
实习生应该准时下班吗
#
210698次浏览
1360人参与
#
工作中,你有没有遇到非常爱骂人的领导?
#
26873次浏览
154人参与
#
华子oc时间线
#
1181871次浏览
6257人参与
#
通信硬件知识分享
#
25223次浏览
457人参与
牛客网
牛客企业服务