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

            好久久免费视频高清| 国产精品欧美久久久天天影视| 国产精品美女久久久久久2018| 超级97碰碰碰碰久久久久最新| 久久久久久A亚洲欧洲AV冫| 久久综合中文字幕| 香港aa三级久久三级| 久久91精品国产91久久小草| 99久久精品毛片免费播放| 91精品国产高清91久久久久久| 久久精品人人槡人妻人人玩AV| 国内精品久久久久伊人av| 久久精品国产亚洲av麻豆色欲| 久久婷婷五月综合97色一本一本| 久久久女人与动物群交毛片| 99久久成人国产精品免费| 四虎国产精品免费久久久| 国产2021久久精品| 久久精品国产亚洲精品| 久久九色综合九色99伊人| 中文字幕无码久久人妻| 亚洲色婷婷综合久久| 97精品伊人久久大香线蕉app| 久久线看观看精品香蕉国产| 久久性生大片免费观看性| 久久久无码精品亚洲日韩京东传媒 | 亚洲综合伊人久久大杳蕉| 日产精品久久久一区二区| 久久精品成人免费看| 精品无码久久久久久国产| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久久久精品国产亚洲AV无码| 麻豆一区二区99久久久久| 久久精品人人做人人爽电影| 久久免费香蕉视频| 久久久女人与动物群交毛片| 国产精品无码久久四虎| 国内精品久久久久影院薰衣草 | 精品蜜臀久久久久99网站| 国产精品久久久久乳精品爆| 久久久无码精品亚洲日韩京东传媒|