好文档 - 专业文书写作范文服务资料分享网站

OpenJudge算法设计与分析习题解答

天下 分享 时间: 加入收藏 我要投稿 点赞

1、硬币面值组合

描述

使用1角、2角、5角硬币组成 n 角钱。

设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a, b, c组合。

输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。

输入

一个整数n(1 <= n <= 100),代表需要组成的钱的角数。

输出

输出有若干行,每行的形式为: i a b c

第1列i代表当前行数(行数从001开始,固定3个字符宽度,宽度不足3的用0填充),后面3列a, b, c分别代表1角、2角、5角硬币的个数(每个数字固定12个字符宽度,宽度不足的在左边填充空格)。

样例输入

10 样例输出

001 10 0 0 002 8 1 0 003 6 2 0 004 4 3 0 005 2 4 0 006 0 5 0 007 5 0 1 008 3 1 1 009 1 2 1 010 0 0 2 源代码: #include<> #include<> int main(){ }

int t=1; int i,j,k; int n;

scanf(\int A=n,B=n/2,C=n/5; for(i=0;i<=C;i++){ }

for(j=0;j<=B;j++){ }

for(k=0;k<=A;k++){ }

if(i*5+j*2+k*1==n){

printf(\t++;

}

getchar(); return 0;

2、比赛排名

描述

5名运动员参加100米赛跑,各自对比赛结果进行了预测:

A说:E是第1名。

B说:我是第2名。

C说:A肯定垫底。

D说:C肯定拿不了第1名。

E说:D应该是第1名。

比赛结束后发现,只有获第1名和第2名的选手猜对了,E不是第2名和第3名,没有出现名次并列的情况。

请编程判断5位选手各是第几名。

输入

输出

输出要求:按ABCDE的顺序输出5行,其中第1行是A的名次,第2行是B的名次, 第3行是C的名次,第4行是D的名次,第5行是E的名次。

样例输入 样例输出

源代码: #include<>

int main() {

printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }

3、鸡兔同笼

描述

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。

输入

一行,一个正整数a (a < 32768)。

输出

一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。

如果没有满足要求的答案,则输出两个0,中间用一个空格分开。

样例输入

20 样例输出

5 10 源代码: #include <> int main() {

int n; scanf(\if(n % 4== 0)

printf(\else if(n % 4!= 0&&n % 2== 0) printf(\else printf(\return 0; }

4、谁是你的潜在朋友

描述

“臭味相投”——这是我们描述朋友时喜欢用的词汇。两个人是朋友通常意味着他们存在着许多共同的兴趣。然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。

首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为

1,2,…,M。同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。

输入

第一行两个整数N,M,2 <= N ,M<= 200。接下来有N行,第i(i = 1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)

OpenJudge算法设计与分析习题解答

1、硬币面值组合描述使用1角、2角、5角硬币组成n角钱。设1角、2角、5角的硬币各用了a、b、c个,列出所有可能的a,b,c组合。输出顺序为:先按c的值从小到大,若c相同则按b的值从小到大。输入一个整数n(1<=n<=100),代表需要组成的钱的角数。输出
推荐度:
点击下载文档文档为doc格式
5r6ag7rk8w7f1wl0k4bu3bj0w6iihw013ir
领取福利

微信扫码领取福利

微信扫码分享