Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

求1-N中每个数的最大奇约数之和

Posted by BMP_WANG at 2009-09-24 21:45:46
令g(x)是x的最大奇约数,给定一个数N,求1-N的最大奇约数之和s(N),N为1-1000000000。
eg:s(7)=g(1)+g(2)+g(3)+g(4)+g(5)+g(6)+g(7)=1+1+3+1+5+3+7=21。
这是昨天tc上的一道题目,但是我居然用了暴力,超时没商量。然后看了人家的代码,核心步骤为:
long long findSum(int N)
{
    if(N==1)
       return 1;
    long long k=(N+1)/2;
    return k*k+findSum(N/2);
}
到现在还是推不出为什么从(N/2+1)一直到N的最大奇约数之和为(N+1)/2*(N+1)/2,数论知识一塌糊涂,郁闷,请各位帮忙想细解答一下吧,thx

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator