#P1306. Combinations
Combinations
题目描述
当和(或)变得非常大时,精确计算从个事物中每次取出个事物的方法的确切数量可能是一个巨大的挑战。而挑战正是竞赛的关键所在。因此,给定以下条件,你需要进行这样的计算:
给定条件:;;
计算以下表达式的确切值:
你可以假设的最终值将适合存储在32位的Pascal语言的LongInt
类型或C语言的long
类型中。郑重说明一下,的确切值是:
$93,326,215,443,944,152,681,699,238,856,266,700,490,715,968,264,381,621, 468,592,963,895,217,599,993,229,915,608,941,463,976,156,518,286,253, 697,920,827,223,758,251,185,210,916,864,000,000,000,000,000,000,000,000$
输入
该程序的输入将是一行或多行,每行包含零个或多个前导空格、一个的值、一个或多个空格以及一个的值。输入文件的最后一行将包含一对虚拟的、值,且这两个值都等于零。当读取到这一行时,你的程序应该终止。
输出
该程序的输出应该采用以下形式:
个事物每次取出个时恰好有种方法。
输入示例
100 6
20 5
18 6
0 0
输出示例
100 things taken 6 at a time is 1192052400 exactly.
20 things taken 5 at a time is 15504 exactly.
18 things taken 6 at a time is 18564 exactly.
来源
UVA 第三卷 369题