首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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-01 08:22
蚌埠坦克学院 嵌入式软件开发
比亚迪嵌入式二面总结
1. 请详细介绍一下你在项目中遇到的最难的问题,是如何解决的?参考答案:在智能小车项目中,遇到电机控制稳定性问题,高速抖动、低速响应迟钝。首先用示波器观察PWM波形,发现毛刺干扰。硬件方面:增加滤波电容和磁环抑制干扰。软件方面:实现PID控制算法替代开环控制,用Ziegler-Nichols方法整定初始参数后实测微调。加入软启动和限幅保护机制,最终稳定性提升80%以上。这个过程让我学会系统性分析问题、硬件软件协同调试,以及从理论到实践的完整开发流程。2. 你对AUTOSAR有了解吗?答案:AUTOSAR是汽车开放系统架构标准,分为Classic Platform(传统ECU)和Adaptive...
点赞
评论
收藏
分享
02-06 01:47
科大讯飞_教育BG_后端开发(准入职员工)
让AI指明内容出处减少AI幻觉
为了解决AI幻觉,我们应该先要理解什么是AI幻觉?AI 幻觉(AI Hallucination),在生成式 AI 领域特指模型生成看似合理、流畅且自信,但与客观事实不符、凭空捏造或逻辑矛盾的内容的现象。通俗地说,就是 AI 在一本正经地胡说八道。我们可以让AI指明内容出处来减少AI幻觉:约束回答范围:仅基于我提供的材料范围的信息来回答,避免任何虚构。若信息不明确,请明确说明。自动标注未验证内容,提供事实信息和来源:自动标注未验证的内容,在回复中提供事实信息和参考来源。#为了减少AI幻觉,你注入过哪些设定?#。
点赞
评论
收藏
分享
01-14 14:28
门头沟学院 C++
女朋友拿了字节offer,我反而焦虑
女朋友最近拿到了字节的产品offer,作为男朋友,第一反应当然是替她开心,但开心过后,我自己却陷入了一种莫名的焦虑和失落,这就意味着我们要异地一段时间,而且她工作肯定会接触到很多优秀的人,我有点没安全感。我知道这样想不对,但就是控制不住自己,想听听大家的看法。(我还在找实习)
沉淀小子:
换位思考,你如果后续拿到了很好的offer,你女朋友会不会也担心你,爱到最后全凭良心。
找实习记录
点赞
评论
收藏
分享
02-02 20:44
已编辑
无锡小学 测绘工程师
牛客娘马里奥(nowcoderMario) 网页小游戏制作
牛客娘 2D 横版跳跃游戏 - 核心玩法介绍游戏链接:http://www.silencer76.com/nowcoderMario/游戏制作视频链接:https://www.bilibili.com/video/BV15u67BrEi3/?share_source=copy_web&vd_source=bbe3669fa4c84d2c18b35fbe6e31ff8c游戏概述这是一款以牛客娘为主角的 2D 横版跳跃游戏,类似经典的超级马里奥,包含 6 个精心设计的关卡,每个关卡都有独特的主题和挑战。操作控制W 键:跳跃(可以连跳)A 键:向左移动D 键:向右移动P 键:暂停游戏空格键:...
牛客AI体验站
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
为什么说Java+langchain4j/spring AI依旧是传统后端
4237
2
...
字节飞书测开日常oc,附上面经
3014
3
...
腾讯AI产品一面:如何缓解幻觉?
2597
4
...
美团50亿收购叮咚买菜,校招HC会变多吗
2339
5
...
有了AI之后,程序员能不能干到65岁?
2234
6
...
测开前景
2009
7
...
文科生能做产品经理吗?
1781
8
...
腾讯提前批
1722
9
...
字节的offer流程需要多久
1703
10
...
莉莉丝前端一面
1546
创作者周榜
更多
正在热议
更多
#
在大厂上班是一种什么样的体验
#
12673次浏览
173人参与
#
你的mentor是什么样的人?
#
51239次浏览
724人参与
#
程序员找工作至少要刷多少题?
#
21579次浏览
278人参与
#
我和mentor的爱恨情仇
#
106348次浏览
951人参与
#
论秋招对个人心气的改变
#
13815次浏览
193人参与
#
机械人避雷的岗位/公司
#
44269次浏览
311人参与
#
为了减少AI幻觉,你注入过哪些设定?
#
6285次浏览
185人参与
#
秋招落幕,你是He or Be
#
54305次浏览
618人参与
#
校招第一份工作你干了多久?
#
136706次浏览
597人参与
#
高薪高压 vs 低薪wlb,你怎么选?
#
47448次浏览
291人参与
#
设计人如何选offer
#
189762次浏览
868人参与
#
考公VS就业,你怎么选?
#
92017次浏览
507人参与
#
职场上哪些行为很加分?
#
322671次浏览
3604人参与
#
你的秋招进行到哪一步了
#
2531388次浏览
23253人参与
#
牛客AI体验站
#
7987次浏览
213人参与
#
机械人还在等华为开奖吗?
#
312234次浏览
1582人参与
#
秋招投递记录
#
381024次浏览
3204人参与
#
12306一秒售罄,你抢到回家的票了吗?
#
2358次浏览
52人参与
#
我现在比当时_,你想录用我吗
#
9592次浏览
131人参与
#
重来一次,我还会选择这个专业吗
#
411395次浏览
3898人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务