用c语言题目描述: 院子里养着 C 只鸡和 R 只兔子,每只鸡有一个头和两条腿,每只兔子有一个头和四条腿,总共有 H 个头和 L 条腿,试计算出 C 和 R。 输入描述: 两个整数,分别表示 H, L(1<=H, L<10^9)。(不保证合法) 输出描述描述: 如果存在合法解,依次输出两个非负整数 C 和 R,二者以空格隔开;反之,输出 "impossible"(不包括引号) 样式输入: 27 86 样式输出: 11 16
时间: 2024-02-21 18:58:08 浏览: 19
以下是一种可能的C语言解法:
```c
#include <stdio.h>
int main() {
int h, l;
scanf("%d %d", &h, &l);
int c, r;
if (l % 2 == 1 || l < h * 2 || l > h * 4) {
printf("impossible");
} else {
r = (l - h * 2) / 2;
c = h - r;
printf("%d %d", c, r);
}
return 0;
}
```
该程序首先读取输入的两个整数H和L。然后,它检查是否存在合法解,如果不是,则输出"impossible";否则,它使用给定的头和腿的数量计算出鸡和兔子的数量,并将它们输出。需要注意的是,如果l是奇数,或者l小于2h、大于4h,则不存在合法解。