bzoj#P3366. [USACO 2004 Feb] Breeding 奶牛饲育

[USACO 2004 Feb] Breeding 奶牛饲育

题目描述

农夫约翰正在扩增牛群。通过调整饲料的量,他可以控制牛群中每头母牛所生的小牛的数量。如果他给每头奶牛喂了相同量的饲料,她们就产下了相同数量的牛犊。开始,他喂了一头母牛,希望通过若干代的饲育得到 NN 只奶牛。假如 N= 12N = 12,那么约翰应该喂那只最初的奶牛足够的饲料,使其生 33 只牛犊。第二代牛长大后,他就给她们喂足够的饲料,使它们生下 44 只牛犊,从而最后一代中有 1212 只牛了。牛一旦生产,约翰就把她卖了。所以,农场里只保留最新一代的牛。 每头牛生牛犊的数量不少于 22,且无上限。约翰可以通过多少种不同的方式使最络牛的总数为 NN1N2×1091≤N≤2×10^9)方法的总数量不超过 2×1092×10^9

输入格式

整数 NN

输出格式

获得 NN 头牛的方式总数。

提示

获得 1212 头牛的方法是 (223)(2,2,3)。即第一二代都生产 22 头,第三代生产 33 头(一共 1212 头)。其余 77 种方法为 (232)(2,3,2)(322)(3,2,2)(34)(3,4)(43)(4,3)(12)(12)(26)(2,6)(62)(6,2)

题目来源

Orange