九度OJ-1155:鸡兔同笼
2017-03-07 17:01
113 查看
题目描述:
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
输入:
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出:
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
样例输入:
样例输出:
来源:2011年北京大学计算机研究生机试真题答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7878-1-1.html
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
输入:
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768)
输出:
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。
样例输入:
2 3 20
样例输出:
0 0 5 10
来源:2011年北京大学计算机研究生机试真题答疑:解题遇到问题?分享解题心得?讨论本题请访问:http://t.jobdu.com/thread-7878-1-1.html
#include <cstdio> using namespace std; int main(){ int n,a; int MAXR,MINR,MAXC,MINC; bool find; scanf("%d",&n); for (int time=0;time<n;time++){ //initiate scanf("%d",&a); find=false; MAXR=a/4; MAXC=a/2; //cal //找最少 for (int i=MAXR;i>=0;i--){//i为兔子数 if ((a-4*i)%2==0){ printf("%d ",i+(a-4*i)/2); find=true; break; } } //找最多 for (int i=MAXC;i>=0;i--){//i为鸡数 if ((a-2*i)%4==0){ printf("%d\n",i+(a-2*i)/4); find=true;/**/ break; } } if (!find){ printf("0 0\n"); } } return true; }
相关文章推荐
- 题目1155:鸡兔同笼
- 题目1155:鸡兔同笼
- 题目1155:鸡兔同笼
- 题目1155:鸡兔同笼
- 九度oj-1155-鸡兔同笼
- 九度1155 鸡兔同笼
- 题目1155:鸡兔同笼
- 九度OJ 1155:鸡兔同笼 (基础题)
- 九度OJ 1155:鸡兔同笼 (基础题)
- 题目1155:鸡兔同笼
- 九度 Online Judge 算法 刷题 题目1155:鸡兔同笼
- 鸡兔同笼
- 搞笑又高效的算法(鸡兔同笼)
- 九度OJ 1009: 二叉搜索树 两棵树的判等+二叉搜索树的建立
- poj 1155
- 九度OJ 1422 Closest Number
- 九度oj 第1题 二维数组中的查找 何海涛:《剑指Offer:名企面试官精讲典型编程题》
- 九度oj 1049 字符串去特定字符
- 九度OJ 题目1127:简单密码
- 九度OJ 教程6 日期类问题预处理之日期差值