• sicily 6271. 借书


    Description

      小明有n本新书,要借给3位小朋友,假设每人每次只能借一本。小明想知道一共有多少种不同的借法,聪明的你需要写个程序来帮忙小明,输出一共有多少种借法,并输出这些借法,按照字典序排序。

    Input

     输入多个case

    每个case如下:

    输入n

    其中 10 > n >= 3

    Output

     对于每个case,

    第一行,输出借法的个数;

    接着每一行输出一种借法。

    一开始没看懂题目什么意思,琢磨半天明白了,就是把ABCD....J这十个字母按字典顺序进行排列。

    用了实验作业里写的函数,在处理字母的问题上用ASCII码与数字的对应处理,一次AC

    View Code
     1 // Problem#: 6271
     2 // Submission#: 1602395
     3 // The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
     4 // URI: http://creativecommons.org/licenses/by-nc-sa/3.0/
     5 // All Copyright reserved by Informatic Lab of Sun Yat-sen University
     6 #include<stdio.h>
     7 int perm( int m, int n );
     8 int main()
     9 {
    10     int A, B, C, x;
    11     while( scanf("%d", &x ) != EOF )
    12     {
    13         printf("%d\n", perm(x,3) );
    14     for ( A = 65; A <= 64+x; A++ )
    15     {
    16         for ( B = 65; B <= 64+x; B++ )
    17         {
    18             for ( C = 65; C <= 64+x; C++ )
    19             {
    20                 if ( A != B && B != C && A != C )
    21                 printf("%c%c%c\n", A, B, C);
    22             }
    23         }
    24     }
    25     }
    26     return 0;
    27     }
    28 
    29 int perm( int m, int n )
    30 {
    31     int facto1 = 1;
    32     int facto2 = 1;
    33     int i;
    34     
    35     for ( i = 1; i <= m; i++ )
    36     {
    37         facto1 = facto1 * i;
    38     }
    39     
    40     for ( i = 1; i <= (m - n); i++ )
    41     {
    42         facto2 = facto2 * i;
    43     }
    44     
    45     return  ( facto1 / facto2 );
    46 }                                 
  • 相关阅读:
    [恢]hdu 1412
    [恢]hdu 2212
    [恢]hdu 1407
    [恢]hdu 1228
    [恢]hdu 1337
    [恢]hdu 1014
    [恢]hdu 2200
    定居到博客园了!
    比较GridView,DataList,Repeator ,DetailsView,FormView
    随手记录修改某条记录时,不使用数据库控件而用datareader
  • 原文地址:https://www.cnblogs.com/joyeecheung/p/2750452.html
Copyright © 2020-2023  润新知