NYOJ 题目46最少乘法次数(模拟)

来源:互联网 发布:mac隐藏文件夹 编辑:程序博客网 时间:2024/06/05 01:15


最少乘法次数

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

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

               

输入
第一行m表示有m(1<=m<=100)组测试数据;
每一组测试数据有一整数n(0<n<=10000);
输出
输出每组测试数据所需次数s;
样例输入
3234
样例输出
122
上传者
李剑锋
ac代码
#include<stdio.h>int main(){int t;scanf("%d",&t);while(t--){int n,c=0;scanf("%d",&n);while(n!=1){if(n%2==0)n/=2;elsen--;c++;}printf("%d\n",c);}}

0 0
原创粉丝点击