HDU1215
Posted ac-ac
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU1215相关的知识,希望对你有一定的参考价值。
HDU1215七夕节
思路:求一个数的约数和。
一:打表
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn = 5e5+10;
int sum[maxn];
void init()
{
for(int i = 1; i <= maxn/2; i++)
{
for(int j = i + i; j <= maxn; j += i)
sum[j] += i;
}
}
int main(void)
{
init();
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
cout<<sum[n]<<endl;
}
return 0;
}
二:暴力枚举
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int main(void)
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int sum = 0;
for(int i = 1; i*i <= n; i++)
{
if(n%i==0)
{
sum += i;
if(i!=1&&i!=n/i)//注意n是平方数的情况
sum += n/i;
}
}
cout<<sum<<endl;
}
return 0;
}
以上是关于HDU1215的主要内容,如果未能解决你的问题,请参考以下文章