首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
暂无评论,快来抢首评~
相关推荐
06-19 17:19
魔门塔(苏州)科技有限公司_感知算法工程师(准入职员工)
momenta内推
真实工作体验纯手码在Momenta实习是我所有的实习中最忙碌也是最充实的一段。 最开始在外企,基本是早9晚5,虽然是开发岗,但任务需求都很少,常常是我需要自己去找Mentor聊想法,自己给自己arrange一些任务,每天基本是回email、各种meeting、Leetcode,日子虽然很惬意,但感觉提升很少。之后去到小红书,工作经常是忙一阵闲一阵,正职们倒是都挺忙的,所以经常没空管我,最喜欢做的事情就是在完成Mentor布置的任务后,翻大家沉淀下来的各种业务文档,看大家的解决方案和业务逻辑,也是在努力赋予这段实习意义。 来到Momenta后,真正的感受到了真正工作的强度。每天都会被各种各样的需...
小红书公司福利 701人发布
点赞
评论
收藏
分享
06-18 16:44
门头沟学院 Java
华为海思暑期实习复活了!
时间线3.19 投简历 4.09 流程重启 5.15 上午技术面,下午主管面 5.16-6.13 静泡,大概2次所谓的“保温” 6.13 offer邮件
点赞
评论
收藏
分享
04-28 16:28
桂林电子科技大学 嵌入式软件工程师
大佬能带我看看这简历吗,双非本科只想找个嵌入式实习咋这么难😭😭😭
西工程小巴:
准备两份简历,一份mcu,一份linux
点赞
评论
收藏
分享
05-27 16:11
华中科技大学 后端
希望大家能给我提提意见
这个实习能去吗,公司规模是0-20人
仁者伍敌:
难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞
评论
收藏
分享
昨天 15:24
运营
卷走影视飓风几万块的蛋糕店,是什么来头?
“影视飓风的蛋糕被人动了”6月17日,大v影视飓风Tim发视频说:他们几万块买来的欢牛蛋糕卡,一夜之间成了“废纸”。“我们是他们最大的客户之一,现在的问题是,员工的生日蛋糕去哪买?卡还能退吗?”他们的视频一上线,就在社交平台刷了屏。与此同时,杭州本土经营了12年的连锁烘焙品牌“欢牛蛋糕”在官网挂出一纸《告别公告》:因成本激增、市场竞争剧烈、自身管理失误,正式停业。但是就在不久前,6月8日欢牛曾高调辟谣“跑路”传闻,从要开100家新店,到深夜跑路,从“老顾客回归计划”到“储值卡无门可退”,不过几天时间,欢牛的命运完成了极限反转。门店员工突然收到停业通知,加盟商投入百万打水漂,消费者一夜损失过亿。...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
对不起了妈妈,没办法让你过上好日子了。
1.7W
2
...
异地+卷王,有未来吗?
5728
华为开奖进展
热聊中
3
...
职场“心眼子”大赛:看你挑战多少次,才能拿到满分?
5670
4
...
实习上班两个月被骂了两个月
5613
5
...
不要放弃,兄弟们
5423
6
...
避雷华为质量it部,华为给我上了一课,26届倒霉又失败的暑期实习求职经历
5401
7
...
虽然还有很多机会但也没心气了
4987
8
...
双非本春招总结
4537
9
...
默认入职+offer迟到3周,尊严被开水团按在地上摩擦
4515
10
...
拒绝了美团offer
4263
创作者周榜
更多
正在热议
更多
#
我的职场心眼子段位
#
12757次浏览
431人参与
#
你的工资什么时候发?
#
28119次浏览
208人参与
#
你找实习最大的坎坷是什么
#
14211次浏览
155人参与
#
当你面对裁员会如何?
#
267044次浏览
2379人参与
#
实习最想跑路的瞬间
#
13126次浏览
115人参与
#
机械人,你被简历秒挂的企业有哪些?
#
40174次浏览
272人参与
#
正在实习的你,有转正机会吗?
#
385380次浏览
2931人参与
#
运营每日一题
#
72688次浏览
716人参与
#
妈妈治愈了你哪些脆皮时刻
#
26457次浏览
293人参与
#
华为海思工作体验
#
22588次浏览
109人参与
#
我的求职精神状态
#
79810次浏览
994人参与
#
职场破防瞬间
#
239658次浏览
2218人参与
#
嵌入式岗知多少
#
42786次浏览
455人参与
#
能让你振作起来的一句话
#
48186次浏览
372人参与
#
机械专业只有考研才有出路吗
#
107643次浏览
872人参与
#
在国企工作的人,躺平了吗?
#
337190次浏览
3870人参与
#
如何排解工作中的焦虑
#
176201次浏览
1891人参与
#
汇川技术求职进展汇总
#
122394次浏览
811人参与
#
一人分享一句让你在秋招振作起来的话
#
61412次浏览
564人参与
#
实习/项目/竞赛奖项,哪个对找工作更重要?
#
84622次浏览
1115人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务