⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 di3.txt

📁 信息学 (计算机) 奥林匹克训练题 (中级部分) 天津师范大学 李学武 编
💻 TXT
📖 第 1 页 / 共 5 页
字号:
           信息学 (计算机) 奥林匹克训练题   (中级部分)

 

                天津师范大学   李学武  编      1997.7.

                                                                                 

  1.  给定等式  A B C D E     其中每个字母代表一个数字,且不同数字对应不         

                    D F G     同字母。编程求出这些数字并且打出这个数字的         

             +      D F G     算术计算竖式。                                     

             ───────                                                      

                X Y Z D E                                                        

                                                                                 

  2. A、B、C、D、E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:                                                               

   (1)A参加时,B也参加;                                                    

   (2)B和C只有一个人参加;                                                  

   (3)C和D或者都参加,或者都不参加;                                        

   (4)D和E中至少有一个人参加;                                              

   (5)如果E参加,那么A和D也都参加。                                        

                                                                                 

  3. 打印一个 N*N 的方阵,N为每边           N=15  打印出下面图形            

 字符的个数(3<N<20), 要求最               TTTTTTTTTTTTTTT                

 外一层为"T", 第二层为"J", 从第三层               TJJJJJJJJJJJJJT                

 起每层依次打印数字 1,2,3,...                     TJ11111111111JT                

 (右图以N为15为例)                           TJ12222222221JT                

                                                  TJ12333333321JT                

                                                  TJ12344444321JT                

                                                  TJ12345554321JT                

                                                  TJ12345654321JT                

                                                  TJ12345554321JT                

                                                  TJ12344444321JT                

                                                  TJ12333333321JT                

                                                  TJ12222222221JT                

                                                  TJ11111111111JT                

                                                  TJJJJJJJJJJJJJT                

                                                  TTTTTTTTTTTTTTT                

                                                                                 

  4. 在N行N列的数阵中, 数K(1〈=K〈=N)在每行和每列中出现且仅出现一次,这样的数阵叫N阶拉丁方阵。例如下图就是一个五阶拉丁方阵。编一程序,从键盘输入N值后,打印出所有不同的N阶拉丁方阵,并统计个数。                    

        1  2  3  4  5                                                            

        2  3  4  5  1                                                            

        3  4  5  1  2                                                            

        4  5  1  2  3                                                            

        5  1  2  3  4                                                            

                                                                                 

  5. 输入一个十进数,将其转换成 N 进制数(0<N<=16)。                             

                                                                                 

  6. 矩阵中填数. 当给出 N*N 的矩阵,要求用程序填入下列形式的数:                 

   ① 倒填,例如N=5             ② 蛇形填数              ③ 回转填数             

 ┌─┬─┬─┬─┬─┐   ┌─┬─┬─┬─┬─┐   ┌─┬─┬─┬─┬─┐        

 │25│24│23│22│21│   │ 1│ 3│ 4│10│11│   │ 1│16│15│14│13│        

 ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤        

 │20│19│18│17│16│   │ 2│ 5│ 9│12│19│   │ 2│17│24│23│12│        

 ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤        

 │15│14│13│12│11│   │ 6│ 8│13│18│20│   │ 3│18│25│22│11│        

 ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤        

 │10│ 9│ 8│ 7│ 6│   │ 7│14│17│21│24│   │ 4│19│20│21│10│        

 ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤   ├─┼─┼─┼─┼─┤        

 │ 5│ 4│ 3│ 2│ 1│   │15│16│22│23│25│   │ 5│ 6│ 7│ 8│ 9│        

 └─┴─┴─┴─┴─┘   └─┴─┴─┴─┴─┘   └─┴─┴─┴─┴─┘        

                                                                                 

  7. 读入一行文本,包含若干个单词(以空格间隔,%结尾)。将其中以 A 开头的单词与以 N 结尾的单词,用头尾交换的办法予以置换。                             

                                                                                 

  8. 输入两个正整数X,Y,将X,Y化为二进制数,然后将这两个二进制数作二进制加法运算,再将结果化为十进制数输出。                                        

 

  9. 四人玩火柴棍游戏,每一次都是三个人赢,一个人输。输的人要按赢者手中的火柴数进行赔偿,即赢者手中有多少根火柴棍,输者就赔偿多少根。现知道玩过四次后,每人恰好输过一次, 而且每人手中都正好有16根火柴。问此四人做游戏前手中各有多少根火柴? 编程解决此问题。                                          

                                                                                 

 10. 如图1所示,编写程序计算               ┎┰┰┰┰┰┰┰┰┰┒               

    大大小小正方形共有多少?当最小          ┠╂╂╂╂╂╂╂╂╂┨               

    正方行边长为1时,它们的总面积          ┠╂╂╂╂╂╂╂╂╂┨               

    共为多少?                              ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┠╂╂╂╂╂╂╂╂╂┨               

                                            ┖┸┸┸┸┸┸┸┸┸┚               

  11. 巧排数字。将1、2、...、20这20个数排成一排,使得相邻的两个数之和为一个素数,且首尾两数字之和也为一个素数。编程打印出所有的排法。            

                                                                                 

 12. 下图是一个集装箱仓库,阴影部分表示有集装箱存放不能通过,无阴影处为临时通道。当有人要从入口处到达出口处时,必须寻找可通过路线,请你找出可完成这个过程的最方便(即用最短路线)到达出口处的路径。                              

          ┎┰┰┰入口┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┰┒         

          ┠╂╂╂──╂╂╂╂┸┸╂┸┸╂┸┸╂┸┸╂╂╂╂┸┸╂╂╂┨         

          ┠╂╂╂──╂┸┸╂──╂┰┰╂┰┰╂──╂╂╂╂──╂╂╂┨         

          ┠╂╂╂──╂┰┰╂┰┰╂╂╂╂╂╂╂──╂┸┸╂──╂╂╂┨         

          ┠╂╂╂──╂╂╂╂╂╂╂╂╂╂╂╂╂┰┰╂┰┰╂┰┰╂╂╂┨         

          ┠╂╂╂──╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂┸┸╂╂╂┨         

          ┠╂╂╂──╂┰┰╂┰┰╂┰┰╂──╂┰┰╂──╂┰┰╂╂╂┨         

          ┠╂╂╂──╂╂╂╂╂╂╂╂╂╂──╂╂╂╂──╂╂╂╂╂╂┨         

          ┠╂╂╂──╂╂╂╂┸┸╂┸┸╂──╂╂╂╂──╂┸┸╂╂╂┨         

          ┠╂╂╂──╂╂╂╂┰┰╂┰┰╂┰┰╂╂╂╂┰┰╂──╂╂╂┨         

          ┖┸┸┸──┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸┸出口┸┸┸┚         

                                                                                 

 13. 有N个硬币(N为偶数)正面朝上排成一排,每次将 N-1 个硬币翻过来放在原位置,不断地重复上述过程,直到最后全部硬币翻成反面朝上为止。编程让计算机把翻币的最简过程及翻币次数打印出来(用*代表正面,O 代表反面)。                 

                                                                                 

 14. 有黑白棋子各有N个(分别用*和O代替),按下图方式排列                      

        ***...***OOO...OOO                                     

            N个黑棋            N个白棋                                         

 允许将相邻两个棋子互换位置,最后使队形成黑白交替排列,试编程实现该操作。        

                                                                                 

 15. 已知6个城市,用c[i,j]表示从i城市到城市j是否有单向的直达汽车             

 (1=<i〈=6,1〈=j〈=6), c[i,j]=1 表示城市i到城市j有单向直达汽车; 否则 c[i,j]=0.  试编制程序,对于给出的城市代号i,打印出从该城市出发乘车(包括转车)可以到达的所有城市。                                      

                                                                                 

 16. 设有8枚硬币a,b,c,d,e,f,g,h,其中有一枚硬币是伪造的。真伪硬币的区别仅是重量不同,可能重,可能轻。今要求以天平为工具,用最少的比较次数挑出伪造硬币,并鉴定它是重还是轻。                                      

                                                                                 

 17. 编写一个程序,当输入不超过60个字符组成的英文文字时,计算机将这个句子中的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同。例如:                                                                

    输入:                                                                       

    THE PRICE OFBREAD IS ¥1 25 PER POUND           

    输出:                                                                       

    ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU           

 并且要求只对A到Z的字母重新排列,其它字符保持原来的状态。                      

                                                                                 

 18. 在一线性七个格位置的图上有两种不同颜色的棋子A,B. 排列如下图所示,中间格的位置为空。                                                              

          ┎─┰─┰─┰─┰─┰─┰─┒                                         

          ┃A┃A┃A┃  ┃B┃B┃B┃                                         

          ┖─┸─┸─┸─┸─┸─┸─┚                                         

 要求将A,B的现行位置交换,形成下图中的排列:                                   

          ┎─┰─┰─┰─┰─┰─┰─┒                                         

          ┃B┃B┃B┃  ┃A┃A┃A┃                                         

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -