![]() |
||||||||||
|
||||||||||
小L的礼物Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 1 Accepted Submission(s): 1 Problem Description 小L是男神,每天都会收到一大堆礼物,比如玫瑰花,里面还有一些……(你懂的)。 现在已知第n 天,小L将会收到 n! 个礼物。(n!=1*2*3*...*n)但是小L有个怪脾气,他会将收到的礼物每三个合成一堆。然后当礼物的堆数是3的倍数的时候,他又会将礼物每三堆合成一堆。定义一次操作是每次对于当前所有的礼物堆数(个数)每三堆(个)合成一堆,现在问你小L将会对他第n天收到的礼物操作几次? Input 第一行是一个整数$T$,代表数据组数。 对于每组数据仅有一个正整数$n$,占一行,表示这是小L第几次收到礼物。 $T \leq 10 $ $n \leq 10^{18} $ Output 对于每组数据,输出仅有一行,是小L分礼物的次数。 样例输入输出的解释:输入是1,则小L收到1个礼物,不用进行操作。输入是3,小L收到3*2*1=6个礼物,进行一次操作后分成2堆,每堆3个,这时候堆数2不是3的倍数,停止操作。一共进行了1次操作,答案是1。输入是6,则收到6!=720个礼物。操作一次:240堆,每堆3个。操作两次:80堆,每堆9个。停止操作,答案是2。 Sample Input
Sample Output
Source | ||||||||||
|