• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            POJ 3090. Visible Lattice Points

            Visible Lattice Points
            Time Limit: 1000MS Memory Limit: 65536K
            Total Submissions: 4099 Accepted: 2288

            Description

            A lattice point (x, y) in the first quadrant (x and y are integers greater than or equal to 0), other than the origin, is visible from the origin if the line from (0, 0) to (x, y) does not pass through any other lattice point. For example, the point (4, 2) is not visible since the line from the origin passes through (2, 1). The figure below shows the points (x, y) with 0 ≤ x, y ≤ 5 with lines from the origin to the visible points.

            Write a program which, given a value for the size, N, computes the number of visible points (x, y) with 0 ≤ x, yN.

            Input

            The first line of input contains a single integer C (1 ≤ C ≤ 1000) which is the number of datasets that follow.

            Each dataset consists of a single line of input containing a single integer N (1 ≤ N ≤ 1000), which is the size.

            Output

            For each dataset, there is to be one line of output consisting of: the dataset number starting at 1, a single space, the size, a single space and the number of visible points for that size.

            Sample Input

            4
            2
            4
            5
            231

            Sample Output

            1 2 5
            2 4 13
            3 5 21
            4 231 32549

            Source

            Greater New York 2006



             1/*
             2POJ 3090 Visible Lattice Points
             3
             4Farey 數列,歐拉函數。
             5*/

             6
             7
             8#include <stdio.h>
             9#include <string.h>
            10
            11#define  N  1003
            12
            13int prime[ N ], nprime;
            14int fun[ N ], ans[ N ];
            15
            16void init_prime() {
            17        int i, j;
            18        memset( prime, 0sizeof(prime) );
            19        nprime = 0;
            20        for ( i = 2; i < N; ++i ) {
            21                if ( 0 == prime[ i ] ) {
            22                        prime[ nprime++ ] = i;
            23                        for ( j = i+i; j < N; j+=i ) {
            24                                prime[ j ] = 1;
            25                        }

            26                }

            27        }

            28}

            29
            30void init_fun() {
            31        int  i, j;
            32        int t;
            33        for ( i = 1; i < N; ++i ) {
            34                t = i;
            35                for ( j = 0; (j < nprime)&&(prime[j]<=i); ++j ) {
            36                        if ( i % prime[j] == 0 ) {
            37                                t = t * (prime[ j ] - 1/ prime[ j ];
            38                        }

            39                }

            40                fun[ i ] = t;
            41        }

            42        fun[ 1 ] = 0;
            43}

            44
            45void init_ans() {
            46        int i;
            47        ans[ 1 ] = 0;
            48        for ( i = 2; i < N; ++i ) {
            49                ans[ i ] = ans[ i - 1 ] + fun[ i ];
            50        }

            51        for ( i = 1; i < N; ++i ) {
            52                ans[ i ] = ans[ i ] * 2 + 3;
            53        }

            54}

            55
            56int main() {
            57        int n, c, i;
            58        init_prime();
            59        init_fun();
            60        init_ans();
            61
            62        scanf( "%d"&c );
            63        for ( i = 1; i <= c; ++i ) {
            64                scanf( "%d"&n );
            65                printf( "%d %d %d\n", i, n, ans[n] );
            66        }

            67        return 0;
            68}

            69

            posted on 2012-02-29 21:16 coreBugZJ 閱讀(439) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithmMathematics

            国产亚洲色婷婷久久99精品| 久久精品国产精品亚洲| 亚洲国产欧洲综合997久久| 九九精品99久久久香蕉| 国产精品午夜久久| 五月丁香综合激情六月久久 | 国产精品久久久天天影视| 国产精自产拍久久久久久蜜| 香蕉久久av一区二区三区| 久久久不卡国产精品一区二区| 亚洲中文字幕久久精品无码APP | 97久久国产综合精品女不卡| 久久综合综合久久狠狠狠97色88| 久久精品人妻中文系列| 久久97久久97精品免视看| 国产综合久久久久久鬼色| 久久亚洲AV无码精品色午夜| 精品无码久久久久久久动漫| 91精品国产9l久久久久| 中文字幕日本人妻久久久免费| 久久久人妻精品无码一区| 大香网伊人久久综合网2020| 久久精品国产亚洲AV无码娇色| 久久精品人妻中文系列| 免费久久人人爽人人爽av| 一本久久a久久精品综合香蕉| 久久国产综合精品五月天| 国产精品99久久久久久猫咪 | 武侠古典久久婷婷狼人伊人| 久久久久久久久久免免费精品 | 99久久国产宗和精品1上映 | 久久只这里是精品66| 久久精品亚洲乱码伦伦中文| 国产成人精品久久亚洲| 国内精品伊人久久久久网站| 国内精品久久久久影院网站| 久久久久久久久久免免费精品| 久久国产精品一区| 亚洲精品午夜国产va久久| 久久精品国产免费观看三人同眠| 狠狠色狠狠色综合久久|