AOJ-AHU-OJ-4 1、2、3、4、5...

来源:互联网 发布:js有几种数据类型 编辑:程序博客网 时间:2024/06/05 00:44
1、2、3、4、5...
Time Limit: 1000 ms   Case Time Limit: 1000 ms   Memory Limit: 64 MB
 
Description
安徽大学校园里绿树成荫,环境非常舒适,因此也引来一批动物朋友来此居住。

童心未泯的redraiment就经常带些碎面包什么的去广场喂鸽子和兔子,并和它们玩耍。一点也不像大学生,还是一副老不正经的样子,呵呵。

随着鸽子和兔子数目的增多,redraiment带的那点食物已经不够它们瓜分了。为了能让自己的好朋友吃的饱饱的,redraiment决定统计一下有多少只鸽子和有多少只兔子,以便带来足够的食物。一、二、三、四、五...他开始数了。

现在,他已经知道有这些鸽子和兔子一共有n个头和m只脚。请你帮他写个程序计算一下一共有多少只鸽子和兔子。 

 

Input
输入包括多组数据。 
每行包括2个数据:n、m(代表上面题目中提到的意思 1≤n,m≤230)。 
n、m都是整数。 
输入以0 0作为结束。

 

Output
每组数据的输出都只有一行,分别是鸽子的数量和兔子数量。 
如果输入的测试数据不能求得结果,那肯定是redraiment这个马大哈数错了,就输出"Error"提示他。

 

Sample Input
OriginalTransformed
35 941 30 0

 

Sample Output
OriginalTransformed
23 12Error

 

Source
Redraiment
 
——————————————————————分割线——————————————————————
 
思路:鸡兔同笼问题。解二元一次方程。
 
代码如下:(质量不高,欢迎修改)

 1 #include <stdio.h> 2 void solve(int n, int m){ 3     int r, d; 4     r = m / 2 - n; 5     d = n - r; 6     printf("%d %d\n", d, r); 7 } 8 int main(){ 9     int x, y;10     for(;;){11         scanf("%d %d", &x, &y);12         if(x == 0&&y == 0)13           break;14         else if(y % 2 != 0||x >= y||y < 2*x||y > 4*x){15             printf("Error\n");16             continue;17         }18         else19           solve(x, y);20     }   21     return 0;22 }

 

0 0
原创粉丝点击