问题 3328 --最少乘法次数

3328: 最少乘法次数

时间限制: 3 Sec  内存限制: 128 MB
提交: 700  解决: 499
[提交][状态][讨论版][数据上传:][下载FPS3元][下载测试数据3元][20kb]

题目描述

给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如242*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;

输入

第一行m表示有m(1<=m<=100)组测试数据;
每一组测试数据有一整数n(0<n<=10000);

输出

输出每组测试数据所需次数s;

样例输入

4
2
3
4
1000

样例输出

1
2
2
14

提示

这是一种快速乘方算法的思想,由此可以看出,原始乘方算法可以被极大的优化。

来源

[提交][状态]