回 帖 发 新 帖 刷新版面

主题:新手问个问题(答出20+30分)

输入2个数A,B,(0<A,B<50)输出  
A!/(B!*(ABS(A-B)!))[em18][em18][em18]

回复列表 (共23个回复)

沙发

这种题~~~~~~~~~~~~~~难道你不会吗??

板凳

Program EX000(input,output);
Var
  a,b,i,f,g:integer;
  c,d,e,m:real;
Begin
  Repeat
   Readln(a,b)
  Until (a>0) and (0<b<50);  {读取A,B直到满足条件}
  c:=1;
  d:=1;
  e:=1;
  For i:=a downto 1 do
    c:=c*i;                  {A的阶乘}
  For i:=b downto 1 do
    d:=d*i;                  {B的阶乘}
  f:=a-b;
  For i:= f downto 1 do
    e:=e*i;                  {(A-B)的阶乘}
  g:=abs(e);   
  m:=c/(d*g);
  Writeln(m);
End.

3 楼

恩......楼主不是连这种题目都不愿意想把
??

4 楼

是不是那个阶乘难住你了?

5 楼

几年级的呀???

6 楼

偶做不出啊~才5年级~

7 楼

program tt;
var
  a:array[1..2000]of integer;
  n,i,s:integer;
function sti(n:integer):integer;
  var
   m,i,s;integer;
  bagin
     s:=1;
    for i;=1 to n do
     s:=s*i;
    sti:=s;
  end;
begin
  read(a);
  read(b);
  write(sti(a));
  write(sti(b));
  write(sti(a+b));
  writeln;
end.

8 楼

不会吧,两个程序都出大错了,你还+。。。。
第一个怎能用实型呢;第二个a,b都没定义啊!

9 楼

说得没错!

10 楼

Var
  a,b,i,f,g:integer;
  c,d,e,m:real;
Begin
  Repeat
   Readln(a,b)
  Until (a>0) and (0<b<50);  
  c:=1;
  d:=1;
  e:=1;
  For i:=a downto 1 do
    c:=c*i;                 
  For i:=b downto 1 do
    d:=d*i;                  
  f:=a-b;
  For i:= f downto 1 do
    e:=e*i;                 
  g:=abs(e);   
  m:=c/(d*g);
  Writeln(m);
End.  

我来回复

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