• <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>
            posts - 21, comments - 2, trackbacks - 0, articles - 0

            POJ 2273 An Excel-lent Problem

            Posted on 2011-09-05 21:53 acpeng 閱讀(489) 評論(0)  編輯 收藏 引用 所屬分類: ACM程序

            把整數轉化為excel對應的列值http://poj.org/problem?id=2273
            Description

            A certain spreadsheet program labels the columns of a spreadsheet using letters. Column 1 is labeled as ``A", column 2 as ``B", ..., column 26 as ``Z". When the number of columns is greater than 26, another letter is used. For example, column 27 is ``AA", column 28 is ``AB" and column 52 is ``AZ". It follows that column 53 would be ``BA" and so on. Similarly, when column ``ZZ" is reached, the next column would be ``AAA", then ``AAB" and so on.

            The rows in the spreadsheet are labeled using the row number. Rows start at 1.

            The designation for a particular cell within the spreadsheet is created by combining the column label with the row label. For example, the upper-left most cell would be ``A1". The cell at column 55 row 23 would be ``BC23".

            You will write a program that converts numeric row and column values into the spreadsheet designation.

            Input

            Input consists of lines of the form: RnCm. n represents the row number [1,300000000] and m represents the column number, 1<=m<=300000000. The values n and m define a single cell on the spreadsheet. Input terminates with the line: R0C0 (that is, n and m are 0). There will be no leading zeroes or extra spaces in the input.

            Output

            For each line of input (except the terminating line), you will print out the spreadsheet designation for the specified cell as described above.

            Sample Input

            R1C1
            R3C1
            R1C3
            R299999999C26
            R52C52
            R53C17576
            R53C17602
            R0C0
            

            Sample Output

            A1
            A3
            C1
            Z299999999
            AZ52
            YYZ53
            YZZ53
            

            Source

            Greater New York 2004

            進制轉化問題,把列數改成26進制輸出,分別用A,B...Z代替1,2,3...這里base[0]='Z',表示n與26余數為0時的取值,但進位問題需要注意,分余數是否為0兩種情況分析。
            代碼:
            #include<stdio.h>
            #define R 26
            char base[30]="ZABCDEFGHIJKLMNOPQRSTUVWXYZ";
            void fun(int N)
            {
                
            int i=0,j; char str[10];
                
            while(N>R)
                
            {
                    str[i
            ++]=base[N%R];
                    N
            =N%R==0?N/R-1:N/R;
                }

                str[i]
            =base[N];
                
            for(j=i;j>=0;j--)
                    printf(
            "%c",str[j]);
            }

            int main()
            {
                
            int m,n;
                
            while(scanf("%*c%d%*c%d",&m,&n)!=EOF)
                
            {
                    getchar();
                    
            if(m==0 && n==0)break;
                    fun(n);
                    printf(
            "%d\n",m);
                }

                
            return 0;
            }

            欧美麻豆久久久久久中文| 久久综合九色综合精品| 日本国产精品久久| 久久久久久久女国产乱让韩| 99久久精品免费看国产一区二区三区| 久久久无码人妻精品无码| 久久香蕉综合色一综合色88| 日韩欧美亚洲综合久久影院Ds| 久久综合给合久久狠狠狠97色| 一本伊大人香蕉久久网手机| 欧美精品国产综合久久| 精品久久久久久成人AV| 久久影视国产亚洲| 久久久91精品国产一区二区三区 | 一本色道久久88—综合亚洲精品| 亚洲AV无码1区2区久久| 久久综合久久性久99毛片| 久久国产精品一国产精品金尊| 欧美激情精品久久久久久久九九九| 精品国产VA久久久久久久冰 | 婷婷久久综合| 色综合久久88色综合天天| 亚洲色欲久久久综合网| 欧美亚洲日本久久精品| 欧美亚洲国产精品久久蜜芽| 精品国产青草久久久久福利| 精品久久久久久无码国产| 久久99国产精品99久久| 久久精品国产亚洲av日韩| 亚洲欧洲日产国码无码久久99| 亚洲欧洲中文日韩久久AV乱码| 中文精品久久久久国产网址| 久久综合综合久久狠狠狠97色88| 热re99久久6国产精品免费| 久久精品国产久精国产果冻传媒| 蜜桃麻豆www久久国产精品| 久久国产视屏| 日本加勒比久久精品| 亚洲人成网站999久久久综合| 久久影视综合亚洲| 久久人人添人人爽添人人片牛牛|