NOIP复赛模拟练习题 下载本文

内容发布更新时间 : 2024/5/6 4:47:48星期一 下面是文章的全部内容请认真阅读。

NOIP复赛模拟练习题(一)

1. 埃及分数

源文件:egfranc.pas/c/cpp 可执行文件:egfranc.exe 输入文件:egfranc.in 输出文件:egfranc.out

古代埃及人喜欢用分子为1的分数,即使是普通的分数他们也喜欢将它转为若干个分子为1的分数的和。如2/5,他们习惯表示为:1/3+1/15。

现要求你将输入的一个分子不为1的真分数转为若干个分子为1的不同的分数的和,输出要求按分母由小到大的顺序,并且是分母尽可能的小。

输入两个自然数A、B,分别表示分子和分母,输出相应的埃及分数。 样例: egfranc.in 2 5

egfranc.out 2/5=1/3+1/15

2. N个因子的最小自然数 源文件:minnat.pas/c/cpp 可执行文件:minnat.exe 输入文件:minnat.in 输出文件:minnat.out

一个自然数总有若干个因子,如6有4个因子:1,2,3,6。

现要求你对于给定的自然数n(1

输入就一个数n,输出有n个因子的最小自然数。 样例: minnat.in 15

minnat.out 144

3. 数字拆成K份 源文件:numkd.pas/c/cpp

可执行文件:numkd.exe 输入文件:numkd.in 输出文件:numkd.out

将一个正整数n拆成k个正整数之和,如n=5,k=2时,不同的拆分方法有两种:5=1+4=2+3。现要求根据给定的n和k,求出可能的不同拆分的数目。输入就一行两个数,分别表示n和k(1

numkd.out 2

4、好心的出租车司机 源文件:taxi.pas/c/cpp 可执行文件:taxi.exe 输入文件:taxi.in 输出文件:taxi.out

题目描述

一位出租车司机向你抱怨:城市发展太快,公路越来越多,他已经疲于计算行驶路线,于是求助你开发一个自动导航的工具。

出租车只能在公路上行驶。所有的公路都是笔直、双向的,相交的公路视为连通(可以在交叉点处从一条公路开到另一公路上)。由于道路施工,整个城市的公路系统可能并不完全通畅。如果乘客的目的地不在公路边,则乘客下车后要步行前往,步行路线不受公路限制。这位好心的司机还特别提出,乘客步行距离越短越好;其次,出租车行驶里程越短越好。

方便起见,用笛卡尔坐标系来描述城市地图,所有坐标都在第一象限 [0, 1000] 的范围内。公路宽度忽略不计。 输入格式:

第一行是一个数字 k ,代表公路条数。以下 k 行每行用 4 个实数描述一条公路(用空格隔开),前两个表示公路起点,后两个表示公路终点。下一行包含 4 个实数(用空格隔开),前两个表示乘客上车点,后两个表示乘客目的地坐标。不相交公路间的最短距离至少为 10 -4 。 输出格式:

仅一行,为出租车行驶的里程数,保留一位小数。

样例: taxi.in 2

2.0 2.0 10.0 10.0 10.0 2.0 2.0 10.0 3.0 3.0 9.0 4.0 taxi.out 7.8