• <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 已棄。

            EOJ 1852. Ordered Fractions

            Ordered Fractions

            Time Limit:1000MSMemory Limit:30000KB
            Total Submit:191Accepted:122

            Description

            Consider the set of all reduced fractions between 0 and 1 inclusive with denominators less than or equal to N.

            Here is the set when N = 5:

            0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1

            Write a program that, given an integer N between 1 and 160 inclusive, prints the fractions in order of increasing magnitude.

            Input

            One line with a single integer N.

            Output

            One fraction per line, sorted in order of magnitude.

            Sample Input

            5

            Sample Output

            0/1
            1/5
            1/4
            1/3
            2/5
            1/2
            3/5
            2/3
            3/4
            4/5
            1/1

            Source

            usaco




            解法一:
            生成所有分數,排序,去重。
            我剛開始就是這么干的。

            解法二:
            老肖教的。
            Farey 數列。
            本題實際上是要求輸出 Farey 數列。


            遞歸生成:

             1/*
             2EOJ 1852 Ordered Fractions 
             3
             4Farey 數列。
             5
             6*/

             7
             8
             9#include <stdio.h>
            10
            11int n;
            12
            13void farey( int a1, int b1, int a2, int b2 ) {
            14        if ( b1 + b2 > n ) {
            15                return;
            16        }

            17        farey( a1, b1, a1+a2, b1+b2 );
            18        printf( "%d/%d\n", a1+a2, b1+b2 );
            19        farey( a1+a2, b1+b2, a2, b2 );
            20}

            21
            22int main() {
            23        scanf( "%d"&n );
            24        puts( "0/1" );
            25        farey( 0111 );
            26        puts( "1/1" );
            27        return 0;
            28}

            29


            迭代生成:

             1/*
             2EOJ 1852 Ordered Fractions 
             3
             4Farey 數列。
             5
             6*/

             7
             8
             9#include <stdio.h>
            10
            11void farey( int n ) {
            12        int preA, preB, curA, curB, nxtA, nxtB;
            13
            14        preA = 0;
            15        preB = 1;
            16        curA = 1;
            17        curB = n;
            18
            19        printf( "%d/%d\n", preA, preB );
            20        printf( "%d/%d\n", curA, curB );
            21        while ( curA != curB ) {
            22                nxtA = ( preB + n ) / curB * curA - preA;
            23                nxtB = ( preB + n ) / curB * curB - preB;
            24                printf( "%d/%d\n", nxtA, nxtB );
            25                preA = curA;
            26                preB = curB;
            27                curA = nxtA;
            28                curB = nxtB;
            29        }

            30}

            31
            32int main() {
            33        int n;
            34        scanf( "%d"&n );
            35        farey( n );
            36        return 0;
            37}

            38

            posted on 2012-02-29 19:33 coreBugZJ 閱讀(407) 評論(0)  編輯 收藏 引用 所屬分類: ACM 、Algorithm 、Mathematics課內作業

            精品久久久久久久| 国产成人久久精品一区二区三区 | 久久受www免费人成_看片中文| 午夜福利91久久福利| 欧美日韩久久中文字幕| 一本色道久久88精品综合| 久久99毛片免费观看不卡| 久久精品视屏| 狠狠干狠狠久久| 久久精品国产久精国产果冻传媒| 中文字幕无码久久久| 国产婷婷成人久久Av免费高清 | 久久99精品国产自在现线小黄鸭| 日韩精品国产自在久久现线拍| 午夜精品久久久久久影视riav| 久久国产精品77777| 久久久久99精品成人片三人毛片| 久久久久人妻精品一区二区三区| 人妻少妇精品久久| 国产精品久久久久久久午夜片| 久久人人爽人人爽人人片av高请| 一本久久a久久精品综合夜夜| 性做久久久久久久| 久久天天躁狠狠躁夜夜躁2O2O| 激情综合色综合久久综合| 97久久精品人人澡人人爽| 久久亚洲精精品中文字幕| 久久久亚洲AV波多野结衣| 亚洲精品国产综合久久一线| 久久99精品久久久久久噜噜| 久久久久久狠狠丁香| 亚洲欧美日韩中文久久 | 久久久WWW免费人成精品| 久久精品国产一区二区三区日韩| 国产亚洲精品久久久久秋霞| 中文字幕久久亚洲一区| 天堂无码久久综合东京热| 亚洲国产高清精品线久久| 欧美色综合久久久久久| 欧美午夜A∨大片久久| 午夜精品久久久久久影视777|