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

            97视频久久久| 2020久久精品亚洲热综合一本| 久久久久久久91精品免费观看| 久久精品国产2020| 久久久99精品成人片中文字幕| 中文无码久久精品| 亚洲精品国产自在久久| 久久精品无码一区二区三区| 久久一日本道色综合久久| 一级做a爰片久久毛片免费陪 | 午夜精品久久久久| 久久精品国产亚洲AV无码偷窥| 99久久香蕉国产线看观香 | 91超碰碰碰碰久久久久久综合| 一本久久a久久精品vr综合| 狠狠久久亚洲欧美专区| 欧美性大战久久久久久| 久久国产免费| 久久ZYZ资源站无码中文动漫| 精品综合久久久久久88小说| 久久精品成人免费网站| 久久天天躁夜夜躁狠狠躁2022| 久久线看观看精品香蕉国产| 国产亚洲欧美成人久久片| 最新久久免费视频| 九九久久精品无码专区| 久久99精品综合国产首页| 久久久久亚洲AV成人片| 久久久久人妻一区二区三区| 久久久WWW成人| 99久久免费国产精品| 国产精品久久免费| 久久99精品久久久久久噜噜| 2021少妇久久久久久久久久| 久久精品国产亚洲77777| 久久天天躁夜夜躁狠狠躁2022| 一本一道久久a久久精品综合 | 热99re久久国超精品首页| 奇米综合四色77777久久| 日日躁夜夜躁狠狠久久AV| 99蜜桃臀久久久欧美精品网站|