INPUT :22/5 OUTPUT :4.4
INPUT :45/56
OUTPUT :0.803(571428)
分数分解(FRACTION)
提交文件名:FRACTION.PAS 问题描述:
A 1 1 1
将真分数—分解成 — + — + …… + — ,即将该分数分解成若干个分子为 1 的分数,
B B1 B2 Bn
使得这些分数的和等于该真分数。 问题求解:
1.试编写程序实现这种分解,使得所用的分数的个数尽可能少,只需求出一组解。 2.试编写程序实现这种分解,使得所用的各分数的分母之和尽可能小,只需求出一组解。 输入文件(FRACTION.IN):
输入文件中的每一行都有三个数,依次为 T、A 和 B 表示一个问题的描述信息。其中 T 是该问题求解的序号,A ≤ 100,B ≤ 100。 输出文件(FRACTION.OUT):
依次输出每一个问题的解。解的格式为 S B1 B2 …… Bn 。每个问题的解均用,且只用一行来表示其中 S =
B1 + B2 + …… + Bn 。
输入输出样例: FRACTION.IN
1 2 3 1 3 4 1 4 15 2 2 3 2 3 4 2 4 15
FRACTION.OUT
8 2 6 6 2 4 64 4 60 6 3 3 6 2 4 16 6 10 分数排序(SORT)
提交文件名:SORT.PAS 问题描述:
考虑在0和1之间的所有分母不大于N的最简分数。下面是N = 5时的情况: 0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1
36
问题求解:
编写一个程序,对于一个给定的整数N(1≤N≤100),按从小到大的顺序打印出这些分数,同时打印出它们的总的个数。 输入输出示例: N = 5
0/1 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 1/1 TOTAL = 11
分硬币(DIVIDING COINS)
提交文件名:COINS.PAS 问题描述:
一个背包里面最多有100枚硬币,要将这些硬币分给两个人,使得两人得到的钱差距最小。每枚硬币的面值范围是1分到500分,不允许将一枚硬币分开。 输入文件(COINS.IN):
输入文件有多组测试数据,每组有两行。
第一行有一个非负整数m(m<=100),表示硬币数。
第二行有m个正整数,表示每枚硬币的面值,中间用空格分开。 输出文件(COINS.OUT):
每组仅输出一个非负整数,表示两人所分到钱的最小差值。 输入输出样例: COINS.IN 3 2 3 5 4 1 2 4 6
COINS.OUT 0 1
分子(MOLECULE)
提交文件名:MOLECULE.PAS 问题描述:
现在我们要把给定的分子链合成一个新的分子。下面是图示说明:假设现在有一个4行,长度为12的分子链:
O I M D I H E I A F N L C H J D B J M H P J K D L C B J O J G I E K B O K A I N L H L O L B E J 这些可以被连成如下形式:
O L I C M B C H J D B J M H P J K D I O
37
H J E G I I A E F K K A I N L H L O L B E J L O 或者
O C I H M J D D L C B J O J G I E K B O H J E M
K A I N L H L O L B E J A P F J N K L D 我们必须给予一些限制:
1) 任意的4条链可以被组合成如上图所示的水平、垂直的链。
2) 如果一条链被组合在两条水平的链中的任意一条,它必须保持从左往右的顺序,即原来的顺序。3) 如果一条链被组合在两条垂直的链中的任意一条,它上下顺序必须符合她原来的左右的顺序。 4) 中间围起的矩形必须具有尽可能大的面积,且不能为0。面积即为矩形内的空字符个数。 5) 4个初始链不能以它的首字符或尾字符作为矩形的边界。 输入文件(MOLECULE.IN):
输入包含一系列测试点。每一个包含4个链(12个元素)且为大写字母A … P。 输出文件(MOLECULE.OUT):
一行对应一个输出,为最大的矩形可能面积。若不可能构成矩形,则输出0 输入输出样例: MOLECULE.IN C D B A D C B B E F E F D A C C B A D A F E A B E F B D C A A D B D C D A B C D A B C D A B C D D A C C B A D A F E A B E F B D C A A D B D C D A B C D A B C D A B C D C D B A D C B B E F E F A B A B A B A B A B A B C D C D C D C D C D C D E E E E E E E E E E E E F F F F F F F F F F F F
38
A B A A A A A A A A B A C B C C C C C C C C B C D B D D D D D D D D B D E B E E E E E E E E B E A B B B B B B B B B B A A C C C C C C C C C C A A D D D D D D D D D D A A E E E E E E E E E E A B B B A B B B A B B B B C C A C C C A C C C C C D D D D A D D A D D D D E E A E E A E E E E E E
MOLECULE.OUT 72 72 0 64 100 6
上海市高三程序设计竞赛试题
竞赛注意事项:
1、竞赛在2小时内完成,可以不经书写编程,直接输入计算机调试; 2、每隔15分钟,请存一次盘,机器故障时最多补时15分钟;
3、以竞赛程序运行结果作为主要评分依据,人为判断、直接打印者不给分。
高度与宽度(文件名:aa.pas)
输入杂乱排列的N个正整数,求出所有的最大平台(即出现次数最多的数)的平台宽度(最大平台数的个数)和平台高度(即最大平台中数的值)。例如: 输入:
10 (正整数的个数N,N ? 30) 1 2 3 1 2 3 1 2 1 2 (N个正整数,每两个间空一格) 输出:
1: its width is 4, its height is 1. 2: its width is 4, its height is 2.
截取短料(文件名:bb.pas)
有一根钢管长度为L(100 ? L ? 30000),现要将其截成a1、a2、?、an(a1< L)共n种规格短料中的一种或多种,这n种短料按等差1的规律,顺序递减,若不允许有余料剩下的情况下,最多能截几段?并输出具体截法,即每种规格各有几段,假定每次截料时损耗长度为1。若不可能输出“No Answer”。 例如: 输入:
39
100 (钢管长度L)
8 3 (第一个数a1,为短料中最长料,第二个数表示n种规格,1 ? a1 ? L,1 ? n ? 5) 输出:
Max = 14(最多能截段数) 8:1 (a1段数) 7:1 (a2段数) 6:12 (a3段数)
车费表(文件名:cc.pas)
某城市新建一条地铁线路运载乘客,线路最多有S (S ? 10) 个车站,分别命名为A、B、C、?、J。车站按英文字母顺序依次排成一直线。
编程根据输入的若干两车站间的车费,以一个两维表的行式在屏幕上输出完整的价目表,任何两车站间的来或回的车费应相同。若表格不完整,则显示“Incomplete”。 输入:
4 (车站个数S) A C 5 (A到C,收费为5) B D 7 (B到D,收费为7) A D 9 (A到D,收费为9) Z Z 0 (表示输入结束) 输出:
A B C D A - 2 5 9 B 2 - 3 7 C 5 3 - 4 D 9 7 4 -
A B C 40
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库题库(文件较多)(8)在线全文阅读。
相关推荐: