回 帖 发 新 帖 刷新版面

主题:[讨论]鸡兔同笼 Pascal

题目描述 
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物 
输入 
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,每行一个正整数a (a < 32768) 
输出 
输出包含n行,每行对应一个输入,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开
如果没有满足要求的答案,则输出两个0。

样例输入 
2320
样例输出 
0 05 10

回复列表 (共6个回复)

沙发

求助啊!

板凳

var 
  n,i,t:integer;
begin
  readln(n);
  for i:=1 to n do begin
    readln(t);
    if (t mod 2<>0)  then write('0 0')
      else write(t div 4+t mod 4 div 2,' ',t div 2);
  end;
end.

3 楼

怎么会有05??

4 楼

样例输入和样例输出让人看的不明白,应该是这样写的吧:

输入:
2
3
20

输出:
0 0
5 10

5 楼

输入好像有点错误!
不过没关系,程序如下:
program jitu;
var
   n,i,k:integer;
begin
   readln(n);
   for i:=1 to n do begin
     readln(k);
     if k mod 2<>0 then writeln('0 0')
                   else begin
                     if k=2 then writeln('1 1')
                            else if k mod 4=0 then writeln(k div 4,' ',k div 2)
                                              else writeln((k div 4)+1,' ',k div 2);
                   end;
   end;
   readln;
end.

6 楼


program jitu;
var
   n,i,k:integer;
begin
   readln(n);
   for i:=1 to n do begin
     readln(k);
     if k mod 2<>0 then writeln('0 0')
                   else begin
                     if k=2 then writeln('1 1')
                            else if k mod 4=0 then writeln(k div 4,' ',k div 2)
                                              else writeln((k div 4)+1,' ',k div 2);
                   end;
   end;
   readln;
end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册