#include
<
iostream
>
using
namespace
std;
__int64 gcd(__int64 a, __int64 b)
{
if
(b
==
0
)
return
a;
else
return
gcd(b, a
%
b);
}
__int64 C(
int
a,
int
b)
{
__int64 x
=
1
, y
=
1
;
__int64 r;
int
i;
for
(i
=
0
; i
<
b; i
++
)
{
x
*=
(a
-
i);
y
*=
(b
-
i);
r
=
gcd(x, y);
x
/=
r;
y
/=
r;
}
return
x
/
y;
}
int
main()
{
printf(
"
gcd(100, 15) = %I64d\n
"
, gcd(
100
,
15
));
printf(
"
C(4, 2) = %I64d\n
"
, C(
4
,
2
));
return
0
;
}
posted on 2006-08-16 19:05
豪 阅读(338)
评论(0) 编辑 收藏 引用 所属分类:
数据结构与算法