指数, 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; } }
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); } }
测试用 public static void main(String[] args) { for (int i = 1; i < 10; i++) { compute(i); } }
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;
}
}
0 1 2 4 8 16还没看懂吗?就是2^n 次幂哦!
if(points<10){
reutrn 1;
}
return (int)(Math.logg(points/10)/Math.log(2))+1;完事了.
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);
}
}
for (int i = 1; i < 10; i++) {
compute(i);
}
}
return java.lang.Integer.toBinaryString(points/10).length();这个试试!
用这个看看!
给个完整的!public int getGrade(int points){
if(points <10){
reutrn 1;
}
return java.lang.Integer.toBinaryString(points/10).length()+1;
}
{
return 1
}else
{
return (int)(log2(x/10) + 2);
}