牛客网 vivo2020届春季校园招聘在线编程考试 第3题
牛客网 vivo2020届春季校园招聘在线编程考试 第3题
- 1、问题分析
- 2、问题解决
- 3、总结
1、问题分析
主要就是两个数学公式。代码我已经进行了详细的注释,理解应该没有问题,读者可以作为参考,如果看不懂(可以多看几遍),欢迎留言哦!我看到会解答一下。
高斯自然数求和公式如下:
1+2+...+n=n×(n+1)21 + 2 + ... + n = \frac{{n \times (n + 1)}}{2} 1+2+...+n=2n×(n+1)
平方和公式如下:
12+22+...+n2=n×(n+1)×(2n+1)6{1^2} + {2^2} + ... + {n^2} = \frac{{n \times (n + 1) \times (2n + 1)}}{6} 12+22+...+n2=6n×(n+1)×(2n+1)
2、问题解决
笔者以C++
方式解决。
#include "iostream"using namespace std;#include "algorithm"
#include "vector"
#include "queue"
#include "set"
#include "map"
#include "cstring"
#include "stack"class Solution {private:long long sum = 0;// 定义返回节点是否是完美节点 0 不是; 1 是int flag = 0;
public:/**** @param n int整型 第n天* @return int整型*/int solution(int n) {// write code hereint result = deal(n);int temp;// 完美节点if (flag == 1) {// 根据数学公式 1^2+2^2+...+n^2=(n)*(n+1)*(2*n+1)/6result = result * (result + 1) * (2 * result + 1)/6;}else {// 非完美节点,最后一个节点的效率无法全部发挥,计算 返回节点之前节点的和temp = (result-1) * ((result - 1) + 1) * (2 * (result - 1) + 1)/6;// 使用最后节点的工作效率有几天int number_data = n - (result - 1) * ((result - 1) + 1) / 2;// 将之前的结果和最后几天高效率工作结果累加即最终结果result = result * number_data + temp;}return result;}// 获取 n 对应的最后一个数的值,并记录是否正好整数个整数相加(是否是完美点)// 如 1 + 2 + 3 + 4 < 11 < 1 + 2 + 3 + 4 + 5 ,说明此时 4 和 5 是临界节点// 此处我们按照 5 返回结果,由于 11 != 1 + 2 + 3 + 4 + 5 ,说明 5 不是完美节点,所以flag ==0;// 如果 n = 15 ,此时 15 = 1 + 2 + 3 + 4 + 5 ,此时 5 就是完美节点 ,此处 flag == 1int deal(int n) {for (int i = 1; i < n; ++i) {// 根据数学公式 1+2+ ... + n = (n)*(n+1)/2 ,计算和sum = i * (i + 1) / 2;// 如果是完美节点if (sum == n) {flag = 1;return i;}else if (sum > n) {return i;}}}
};int main() {Solution *pSolution = new Solution;int i = pSolution->solution(15);cout << i << endl;system("pause");return 0;
}
运行结果
有点菜,有时间再优化一下。
3、总结
书上的代码直接运行绝大部分是对的,但是总有一些软件的更新使得作者无能为力。之前的API是对的,但是之后就废弃了或修改了是常有的事。所以我们需要跟踪源代码。这只是一个小小的问题,如果没有前辈的无私奉献,很难想象我们自己一天能学到多少内容。感谢各位前辈的辛勤付出,让我们少走了很多的弯路!
点个赞再走呗!欢迎留言哦!
牛客网 vivo2020届春季校园招聘在线编程考试 第3题相关推荐
- 牛客网 vivo2020届春季校园招聘在线编程考试 第2题
牛客网 vivo2020届春季校园招聘在线编程考试 第2题 1.问题分析 2.问题解决 3.总结 1.问题分析 基本思路是: 1.如果有因子大于等于 10 ,说明不存在 m,使得 m 的各位(个位.十 ...
- 牛客网vivo2020届春季校园招聘在线编程考试
来源:牛客网vivo2020届春季校园招聘在线编程考试 https://www.nowcoder.com/question/next?pid=22390442&qid=925105&t ...
- 【c++】牛客网 vivo2020届春季校园招聘在线编程考试题 手机锁屏的有效模式
题目参考: 牛客网 vivo2020届春季校园招聘在线编程考试题 一根烟,一壶酒,一道算法编一宿... 这是个明显的图结构,九个结点,任意两个节点间相连,我们可以求出图的所有所有满足如下要求的有序路径 ...
- vivo2020届春季校园招聘在线编程考试 解题报告 Apare_xzc
vivo2020届春季校园招聘在线编程考试 解题报告 题目链接:牛客链接 A. 手机屏幕解锁模式 分析: 这是一个智能手机的图案锁,有3*3=9个点.现在要求所有图案中经过的点的个数再[m,n]这个范 ...
- vivo2020届春季校园招聘在线编程考试--[编程题]vivo智能手机产能
vivo2020届春季校园招聘在线编程考试--[编程题]vivo智能手机产能 题目 解题思路 代码块 题目 在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也会不断攀升. 假 ...
- vivo2020届春季校园招聘在线编程考试--[编程题]数位之积
vivo2020届春季校园招聘在线编程考试--[编程题]数位之积 题目 解题思路 代码块 题目 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 现给定任意正 ...
- vivo2020届春季校园招聘在线编程考试 [编程题]vivo智能手机产能 C++实现
[编程题]vivo智能手机产能 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 在vivo产线上,每位职工随着对手机加工流程认识的熟悉和经验的增加,日产量也 ...
- vivo2020届春季校园招聘在线编程考试 [编程题]数位之积 C++实现
[编程题]数位之积 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个 ...
- vivo2020届春季校园招聘在线编程考试
1/3 [编程题]手机屏幕解锁模式 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 现有一个 3x3 规格的 Android 智能手机锁屏程序和两个正整数 ...
最新文章
- linux命令history
- Linux文件预读对系统的影响
- 17届中职计算机应用基础,西安交通大学17年3月课程考试《计算机应用基础》作业考核试题...
- WiFi(网络)调试Android手机
- 追求代码质量: 不要被覆盖报告所迷惑
- cml sml区别_如何简单清晰地描述 CAPM 在投资学中的运用,以及 CAL、CML 和 SML 的关系和区别?...
- Openssl多个安全补丁简易分析危害及修复方案
- 如何删除 R 中的异常值
- 电驴服务器更新的作用,怎样更新eMule(电驴)服务器列表,有什么好处?
- 小红书七夕营销攻略,玩出新花样(内附小红书推广方案干货)
- 【图像处理】非线性滤波
- 计算机二级本科免修,计算机二级证书可以免考自考的哪些科目?
- 2017年加密货币进入国际金融体系
- 人工智能到底属自动化 还是计算机专业,人工智能有哪些专业,前景如何
- 函数的隐式声明 及 rsp,rbp,被调用者和调用者保存的寄存器standerd manuel(Caller/Callee - saved registers)
- STemWin中显示中文与图片
- 分析了 6000 款 App,竟有这么多佳软神器没用过
- 微信收到消息很慢无法连接服务器,为什么微信接收消息总会延迟?4个原因要注意,解决方法在这里...
- 常用数字设计仿真工具(QuestaSim,VCS,IUS,Verdi等)使用入门
- 关键帧动画html例子,关键帧 | @keyframes
热门文章
- 汽车美容快修店如何快速拓客-云上铺汽车管理软件
- Mac FortiClient VPN一直连接不上?正确的安装步骤来了!
- matlab simulink波特图,用simulink画波特图
- 微型计算机及接口技术笔记,自考微型计算机及其接口技术笔记串讲汇总.docx
- 或许你想要的画图工具在这里
- mos计算机考试有用吗,mos微软认证考试到底有没有作用?
- docker打包java微服务,并上传镜像至harbor仓库
- hdu1869 六度分离 (floyed模板题)
- 智慧市政解决方案-最新全套文件
- 织梦网站翻页php,Dedecms织梦如何实现键盘翻页的功能