其他分享
首页 > 其他分享> > Harmonic Number (II)(找规律,思维)

Harmonic Number (II)(找规律,思维)

作者:互联网

题目链接:Harmonic Number (II)

题意计算n/i的和,i从1到n
题解:如果暴力一定会超时 ,可以先选择打表找规律
在这里插入图片描述
通过打表可以得到以下规律:
在这里插入图片描述
那么最后的和为2前面的和减去根号n根号n

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;
int main()
{
	int t;
	int i,l=1;
	scanf("%d",&t);
	while(t--)
	{
		long long n,sum=0;
		scanf("%lld",&n);
		int i;
		long long p=sqrt(n);
		for(i=1;i<=p;i++)
		{
		sum+=n/i;	
		} 
		printf("Case %d: %lld\n",l++,2*sum-p*p);
	}
}

标签:int,sum,Harmonic,long,Number,II,include,根号,lld
来源: https://blog.csdn.net/weixin_52513845/article/details/120624050