nyoj46 最少乘法次数

来源:互联网 发布:展示柜盘管毛细管算法 编辑:程序博客网 时间:2024/05/21 15:48
import java.io.BufferedInputStream;
import java.math.BigDecimal;
import java.util.Scanner;


public class Main{
public static void main(String[] args) {
int nTest,num;
int sum;
Scanner input=new Scanner(new BufferedInputStream(System.in));
nTest=input.nextInt();
while(nTest--!=0)
{
num=input.nextInt();
sum=multiply(num); 
System.out.println(sum);
}
}

public static int multiply(int n)
{
//如果是偶数---则是一个递归的算法
if(n==1)
return 0;
if(n==2)
return 1;
if(n%2==0)
return multiply(n/2)+1;
//如果为奇数---变成偶数
else
return multiply(n-1)+1;
}
}
原创粉丝点击