• <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 閱讀(436) 評論(0)  編輯 收藏 引用 所屬分類: ACMAlgorithm 、Mathematics

            精品久久久久中文字幕日本| 久久精品国产2020| 亚洲国产精品久久久久婷婷老年| 国内精品伊人久久久久av一坑| 精品久久久久久中文字幕| 国产精品九九久久免费视频 | 久久五月精品中文字幕| 亚洲?V乱码久久精品蜜桃| 99久久精品国产一区二区| 青草影院天堂男人久久| 欧美精品乱码99久久蜜桃| 99久久99这里只有免费的精品| 色8激情欧美成人久久综合电| 精品综合久久久久久97| 久久精品国产72国产精福利| 热re99久久6国产精品免费| 青春久久| 99久久精品国产一区二区| 亚洲伊人久久精品影院| 久久人人爽人爽人人爽av| 国产成人精品久久免费动漫| 少妇熟女久久综合网色欲| 精品免费久久久久国产一区| 久久99精品国产麻豆| 亚洲国产另类久久久精品黑人| 国产69精品久久久久99尤物| 97久久久久人妻精品专区| 久久精品一区二区三区AV| 久久久中文字幕日本| 国产亚州精品女人久久久久久 | 久久棈精品久久久久久噜噜| 久久精品国产只有精品66| 久久妇女高潮几次MBA| 久久嫩草影院免费看夜色| 88久久精品无码一区二区毛片| 新狼窝色AV性久久久久久| 欧美成人免费观看久久| 欧美激情精品久久久久久久九九九| 久久成人国产精品二三区| 久久久久中文字幕| 99久久国产亚洲高清观看2024|