等级和积分之间的对应关系为:10分以内为一级,积分每翻一番升一级,即10-20之间为二级,20-40之间为三级,40-80之间为四级,以此类推;
如何 给出一个积分就能得出级别啊
谢谢

解决方案 »

  1.   

    指数, 
    int getLevel(int point){
    int level = 1;if (point < 0 ){
     // invalid input
    }    while (true){
           if (point < getLevelPoint(level)){
           return level;   
           } else{
               level++;
           }    
       } 
    }int getLevelPoint(int level){
        int result = 10;
        for (int index = 1; index< level; index++){
            result = result *2;
        }
    }
      

  2.   

    count/10 拿到的就是
    0 1 2 4 8 16还没看懂吗?就是2^n 次幂哦!
      

  3.   

    是的.
    if(points<10){
       reutrn 1;
    }
    return (int)(Math.logg(points/10)/Math.log(2))+1;完事了.
      

  4.   

    return (int)(Math.log(points/10)/Math.log(2))+1;
      

  5.   


    public class T { public static void compute(int a) {
    int l = 0;
    int r = 0; int t = 1;
    for (int i = 0; i < a; i++) {
    if (i == a - 2) {
    l = t * 10;
    }
    if (i == a - 1) {
    r = t * 10;
    }
    t *= 2;
    }
    System.out.println("等级" + a + " 分数从" + l + "到" + r);
    } public static void main(String[] args) {
    compute(8);
    }
    }
      

  6.   

    测试用 public static void main(String[] args) {
    for (int i = 1; i < 10; i++) {
    compute(i);
    }
    }
      

  7.   


    return java.lang.Integer.toBinaryString(points/10).length();这个试试!
      

  8.   

    错了不好意思!
    用这个看看!
    给个完整的!public int getGrade(int points){
    if(points <10){ 
      reutrn 1; 

    return java.lang.Integer.toBinaryString(points/10).length()+1;
    }
      

  9.   

    我这么觉的是 大家可不要粗心 看别人的就不想了if(x<10)
    {
        return 1
    }else 
    {
       return (int)(log2(x/10) + 2);
    }