当前位置:网站首页 > 更多 > 编程开发 > 正文

[算法刷题] 算法训练 乘法次数

作者:CC下载站 日期:2020-03-11 00:00:00 浏览:52 分类:编程开发

资源限制时间限制:1.0s 内存限制:999.4MB问题描述  给你一个非零整数,让你求这个数的n次方,每次相乘的结果可以在后面使用,求至少需要多少次乘。如24:2*2=22(第一次乘),22*22=24(第二次乘),所以最少共2次;输入格式  第一行m表示有m(1<=m<=100)组测试数据;
  每一组测试数据有一整数n(0<n<=100000000);输出格式  输出每组测试数据所需次数s;样例输入3
2
3
4样例输出1
2
2
importjava.util.*;
publicclasschengfacishu{

	/**
	*@paramargs
	*/
	publicstaticvoidmain(String[]args){
		//TODOAuto-generatedmethodstub
		Scannersc=newScanner(System.in);
		intm=sc.nextInt();
		int[]n=newint[m];
		inttemp;
		for(inti=0;i<n.length;i++){
			n[i]=sc.nextInt();
		}
		for(inti=0;i<n.length;i++){
			intjs=0;
			temp=n[i];
			while(temp/2!=0){
				if(temp%2==0){
					js++;
				}else{
					js+=2;
				}
				temp/=2;
			}
			System.out.println(js);
		}
	}

}


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯