码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 3090 Visible Lattice Points ( 法雷数列 + 欧拉函数 )

时间:2014-11-04 18:49:58      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   for   sp   

 

bubuko.com,布布扣

 

 bubuko.com,布布扣

bubuko.com,布布扣

 

bubuko.com,布布扣
#include <cstdio>
#include <cstring> 
using namespace std;
#define CLR( a, b ) memset( a, b, sizeof(a) )
#define MAXN 1010
int phi[ MAXN ], farey[ MAXN ], n, t;

void get_euler()    //打欧拉函数表 
{
    CLR( phi, 0 ); 
    phi[1] = 1;
    for( int i = 2; i < MAXN; ++i )
    {
        if( !phi[i] )
        {
            for( int j = i; j < MAXN; j+=i )
            {
                if( !phi[j] )    phi[j] = j;
                phi[j] = phi[j] / i * ( i - 1 );
            }
        }
    }    
}
void cal()
{
    farey[1] = 1 + phi[1];     //根据farey数列和欧拉函数的关系 初始化法雷级数F[1]为2 
    for( int i = 2; i <= MAXN; ++i )
        farey[i] = phi[i] + farey[i-1];
}

int main()
{
    get_euler();
    cal();
    scanf( "%d", &t );
    for( int i = 1; i <= t; ++i )
    {
        scanf( "%d", &n );
        printf( "%d %d %d\n", i, n, farey[n] * 2 - 1 );
    }
    return 0;
}
代码君

 

POJ 3090 Visible Lattice Points ( 法雷数列 + 欧拉函数 )

标签:style   blog   http   io   color   ar   os   for   sp   

原文地址:http://www.cnblogs.com/BigBallon/p/4074046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!