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

poj3090 Visible Lattice Points

时间:2018-03-04 22:56:47      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:shai   ios   scanf   down   div   include   ++   oid   logs   

答案就是 \(3+2 \times \sum_{i=2}^n \varphi(i)\),记得特判

#include <iostream>
#include <cstdio>
using namespace std;
int n, T, phi[1005];
void shai(){
    for(int i=1; i<=1000; i++)
        phi[i] = i;
    for(int i=2; i<=1000; i++)
        if(phi[i]==i)
            for(int j=i; j<=1000; j+=i)
                phi[j] = phi[j] / i * (i - 1);
}
int main(){
    shai();
    for(int i=3; i<=1000; i++)
        phi[i] += phi[i-1];
    cin>>T;
    for(int i=1; i<=T; i++){
        scanf("%d", &n);
        if(n==1){
            printf("%d %d 3\n", i, n);
            continue;
        }
        printf("%d %d %d\n", i, n, 3+2*phi[n]);
    }
    return 0;
}

poj3090 Visible Lattice Points

标签:shai   ios   scanf   down   div   include   ++   oid   logs   

原文地址:https://www.cnblogs.com/poorpool/p/8506456.html

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