网易那个奇约数?一起交流下?

网易安全第三题是等比数列求和?!!,我o(n)的解法得跑五六秒,直接超时。。#网易#
全部评论
#include <iostream> using namespace std; int main(){ long n; int i,j; int sum = 0; while(cin>>n){ i = 1; while(n > 1){ if(n%2 == 1){ sum += (n+1)*(n+1)/4; n = (n-1)/2; } else{ i = n; while(i%2 == 0) i /= 2; sum += i; } } sum++; cout<<sum<<endl; } return 0; }
点赞 回复 分享
发布于 2016-09-13 00:13
#include "iostream" using namespace std; typedef long long LL; int main() { LL N; LL Ans = 0; while (cin >> N) { Ans = 0; for (LL i = N; i > 0; i = i / 2) Ans += ((i + 1) / 2) * ((i + 1) / 2); cout << Ans << endl; } return 0; } 我是这么写的,up可以参考一下。注意公式里面要套扩考,优先级错了,结果会出问题
点赞 回复 分享
发布于 2016-09-13 15:20
package test.wangyi; import java.util.Scanner; /**  *   * Description: netease coding test 2.  */ public class Main2 { public static void solve() { Scanner reader = new Scanner(System.in); while(reader.hasNext()) { long N = Integer.parseInt(reader.nextLine()); long count = 0; count = deal(N); System.out.println(count); } reader.close(); } public static long deal(long N) { if(N == 1) { return 1L; } if(N % 2 != 0) { long part = (1 + N) * (N + 1) / 4; return part + deal((N - 1) / 2); } else { long part = N * N / 4; return part + deal(N / 2); } }    public static void main(String[] args) {  Main2.solve();   } }
点赞 回复 分享
发布于 2016-09-13 12:55
s(n) = 小于等于n的所有奇数之和 + s(n / 2) 时间复杂度log(n)
点赞 回复 分享
发布于 2016-09-13 00:09
def MaxPrime(N): while(N % 2 == 0): N = N / 2 return N def sumMaxPrime(N): sum = 0 for x in xrange(1, N + 1): if x % 2 != 0: sum = sum + x else: sum = sum + MaxPrime(x) print sum if __name__ == '__main__': sumMaxPrime(400)
点赞 回复 分享
发布于 2016-09-13 00:07
我总结了个公式,logn可以,但是数据溢出,用int_t也溢出,用手机回复的,暂时不能打公式,奇怪,网友用的long long 就AC了
点赞 回复 分享
发布于 2016-09-13 00:01
http://www.nowcoder.com/discuss/9620?type=0&order=3&pos=28&page=1 这里有解析 哎 我也是一直超时
点赞 回复 分享
发布于 2016-09-12 21:35
谷歌有这道题的解析,递归调用
点赞 回复 分享
发布于 2016-09-12 21:25
应该是等差数列吧, 举例: 对于1,2,3,4,5,6,7,8,9;对应的节约数为1,1,3,1,5,3,7,1,9; 可以发现: 1+3+5+7+9     n=9 1+3                 n=4    (9/2) 1                     n=2    (4/2) 1                     n=1     (2/2)
点赞 回复 分享
发布于 2016-09-12 21:24
递归,求奇数列的和,用公式,偶数列除2又是连续数列,然后继续用公式求这个数列的奇数列,递归就好了
点赞 回复 分享
发布于 2016-09-12 21:22

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
2025-12-02 02:15
门头沟学院
最近菊厂陆续开了,极力劝退那些拿13级的985硕士,就13级那么点儿薪资,一线城市每个月到手1.8/7/6w,租房2k还是破烂,吃饭2k还是预制菜,买个1k衣服都是聚酯纤维破塑料,稍微出去浪一浪,能留1w就是万岁,要是再有个啥都想买的对象,一线工作一年难存10w。隔壁工地混泥土,钳工,焊工一天800+,还包吃包住。读书18年到985硕士出来就为了进厂螺丝工?还不如从8岁童工开始干活,别人读书完了你工龄18+,混不上领导也是个小头头了。当然专科进来正式工,od都行,一般本科进来13级也OK,毕竟22岁年纪摆在那个地方还不需要太花钱。读硕博的基本26岁,工作两年就要结婚的,兜里没几个崽,连彩礼都要信用贷。菊厂离职的不少,毕竟正常没人受得了9116(梗:再来一次911刷6)。为啥这时候劝?因为刚下班,因为国考刚完,省考下周,就是可惜选调只有当年应届能报。现在回想能拍断大腿。应届生真实好身份,错过这一次,选调,考公,考编,当老师,进医院,研究所,高校,央国企,基本都无缘了,就连报名资格都被剥夺了,可谓是被党和国家遗弃的废材,统称“社会上的”,扔到社会去流浪,被用坏了就扔医院,长期超负载使用,零件修不好基本可以扔火里回炉重造了。体制内奉行找体制内的,都是党和国家选的人才,智力不差,样貌不丑,身材端正,收入稳定,安居房政策福利待遇也OK。因公出行都是报销,周末顺带“游山玩水“,这种体制内单身资源但凡想找对象,去社会上随便吆喝一声都排队。观察一下,基本没什么公务员在相亲,因为早就被邻里邻居抢光了。
哈哈哈,你是老六:就这不去的人大把人干呢,现在不缺人干活,你不干大把干呢,还有那个说农民工赚钱的,那个800+我估计肯定也就那一段时间,哪有这么赚钱,还是一句话,要想存下钱必须花销极低,能省的就不花钱,工资要高点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务