zoukankan      html  css  js  c++  java
  • 最少乘法次数

    描述

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

                   

     
    输入
    第一行m表示有m(1<=m<=100)组测试数据;
    每一组测试数据有一整数n(0<n<=10000);
    输出
    输出每组测试数据所需次数s;
    样例输入
    3
    2
    3
    4
    样例输出
    1
    2
    2

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner scanner=new Scanner(System.in);
     6         int T;
     7         int n;
     8         int duishu;
     9         int temp;
    10         int count;
    11         int flag;
    12         
    13         T=scanner.nextInt();
    14         while(T!=0){
    15             T--;
    16             
    17             n=scanner.nextInt();
    18             count=0;
    19             flag=0;
    20             while(true){
    21                 duishu=(int)(Math.log(n)/Math.log(2));
    22                 temp=(int)Math.pow(2,duishu);
    23                 
    24                 if(flag==0){
    25                     count+=duishu;
    26                     flag=1;
    27                 }
    28                 else
    29                     count++;
    30                 
    31                 if(temp==n)
    32                     break;
    33                 
    34                 n-=temp;
    35             }
    36             System.out.println(count);
    37             
    38         }    
    39     }
    40 }
    41             
    42             
     
  • 相关阅读:
    服务器 防Dos攻击
    多浏览器 div 半透明
    网站工具收集
    广告平台
    ie6 position:fixed
    数据图 饼图 曲线图
    36个css框架
    css3 特效
    日ip 日pv
    网站 需求分析 收集
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4135337.html
Copyright © 2011-2022 走看看