FOJ 1591 —— Coral的烦恼

#include<stdio.h>

int main()

{

	__int64 n,i,sum,l,r;

	while(scanf("%I64d",&n)!=EOF)

	{

		sum=0;

		for(i=1;i*i<=n;i++)

		{

			sum+=n/i*i;

			if(i!=n/i)

			{

				l=n/(i+1)+1;

				r=n/i;

				sum+=i*(l+r)*(r-l+1)/2;

			}

		}

		printf("%I64d\n",sum);

	}

	return 0;



}


借鉴别人的代码  http://218.245.3.161/2011/03/08/5687  虽然还有一些不是很理解

你可能感兴趣的:(ora)