- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习 好资料
学习 好资料
更多精品文档
更多精品文档
程序设计比赛试题
主办方:迅翔计算机协会
最少钱币数:
【问题描述】
这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。例如:给定了 6 种钱币面值为 2、5、10、20、50、100,用来凑 15 元,可以用 5 个 2 元、1
个 5 元,或者 3 个 5 元,或者 1 个 5 元、1 个 10 元,等等。显然,最少需要 2 个钱币才能凑成 15 元。
你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。
【要求】
【数据输入】输入可以有多个测试用例。每个测试用例的第一行是待凑的钱数值M(1 = M
= 2000,整数),接着的一行中,第一个整数K(1 = K = 10 )表示币种个数,随后是K
个互不相同的钱币面值Ki(1 = Ki = 1000)。输入M=0 时结束。
【数据输出】每个测试用例输出一行,即凑成钱数值M 最少需要的钱币个数。如果凑钱失败,输出“Impossible”。你可以假设,每种待凑钱币的数量是无限多的。
【样例输入】
15
6 2 5 10 20 50 100
1
1 2
0
【样例输出】
2
Impossible
Feli 的生日礼物
【问题描述】
Felicia 的生日是 11 月 1 日(和 Kitty 是同一天生的哦)。于是 Feli 请来 Kitty 一起过生日。Kitty 带来了最新款的“Kitty 猫”玩具准备送给 Feli,不过她说,这份礼物可不是白送的。Feli 要帮她一个忙,才能够得到心仪已久的玩具。 Kitty 说,“Kitty 猫”玩具已经卖出了 n!个,n=10^100 *_*,Kitty 想知道确切的数字,而不是无聊的“一个数加个感叹号”。 Feli 听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli 告诉 Kitty,就算 Feli 算出 n!, Kitty 也看不下去,因为当 n=20 时,计算机的长整型已经存不下了(Kitty 只能接受 1-9 之间的数字)。于是Kitty 说,你只要告诉我n!最后一位非 0 的数就可以了。Feli 想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC 的男生将会得到一个“Hello Kitty”计算器(可编程,CPU 1THz,Mem 1TMB),AC 的女生将会得到一个仿真“Hello Kitty”宠物(善解人意,无须喂养,智商 1101,附带写情书功能)。
【要求】
【数据输入】每行一个 n,直到输入数据结束
【数据输出】对应输入的 n,每行输出一个答案
【样例输入】
1101
【样例输出】
8
蛇行矩阵
【问题描述】
蛇形矩阵是由 1 开始的自然数依次排列成的一个矩阵上三角形。
【要求】
【数据输入】本题有多组数据,每组数据由一个正整数N 组成。(N 不大于 100)
【数据输出】对于每一组数据,输出一个N 行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。
【样例输入】
5
【样例输出】
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
青蛙的约会
【问题描述】
两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它 们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记 了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们 都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只 青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙, 你被要求写一个程序来判断这两只青蛙是否能够碰面,会在什么时候碰面。
我们把这两只青蛙分别叫做青蛙 A 和青蛙 B,并且规定纬度线上东经 0 度处为原点,由东往西为正方向,单位长度 1 米,这样我们就得到了一条首尾相接的数轴。设青蛙 A 的出发点坐标是 x,青蛙 B 的出发点坐标是 y。青蛙 A 一次能跳 m 米,青蛙 B 一次能跳 n 米,两只青蛙跳一次所花费的时间相同。纬度线总长 L 米。现在要你求出它们跳了几次以后才会碰面。
【要求】
【数据输入】输入只包括一行 5 个整数 x,y,m,n,L,其中 x≠y 2000000000,0 m、n 2000000000,0 L 2100000000。
【数据输出】输出碰面所需要的跳跃次数,如果永远不可能碰面则输出一行Impossible
【样例输入】
1 2 3 4 5
【样例输出】
4
敲七
【问题描述】
输出 7 和 7 的倍数,还有包含 7 的数字例如(1
文档评论(0)