hdu 2824 The Euler function(欧拉函数)

2014-11-23 23:36:51 · 作者: · 浏览: 3

如果打表的话会超内存,我想到了一种方法解决这个问题。题目给出的数据时3000000,我将三百万分成300个数据,将整万的数据存储下来,计算的时候,先计算x和y之间整万的数据,然后再计算零散数据。

想法很不错,但为啥就是通不过呢?而且看提交返回的时间来看,应该是卡在最后一两组数据上了。

我很疑惑。

代码中注释的部分是我之前的代码。最后这道题竟然是毫无美感的暴力过去了。

#include
#include
#define N 3000005
int a[N];
int b[N];
__int64 c[310];
int main()
{
    int i,j;
    for(i=2;i