84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
QQ活跃天数计算公式: (等级 + 4) * 等级 = 活跃天数那么问题来了,已知活跃天数的情况下,如何逆推等级呢?例如:活跃天数是100,(8 + 4) 8 = 96,(9 + 4) 9 = 117,100高于96但是低于117,所以是8级。如何用程序去逆推出来?(数学弱,求小喷!)
闭关修行中......
求一下方程解,去掉负数那个;方程自己笔算。。
function aa(y){ return parseInt(Math.pow(y+4,1/2)-2) } console.log(aa(100))
a方+4a=b
a方+4a+4=b+4
a=正根号(b+4)-2
代码的话,参考crp205的回答。
一元二次方程
我觉得这种算法,不需要逆推。而是将等级对应的天数列出来。然后通过区间的形式直接获取等级。公式归公式,但是逆推的时候不好推!如下为等级对应的天数(100级以内)
给个简单的版本。用的解一元二次方程的公式。
public class Solution { public static int getLevel(int days) { int i = 16 + 4 * days; double d = Math.floor(Math.sqrt(i)); return (-4 + (int) d) >> 1; } }
//公式法:x=-b/2/a+Math.pow(Math.pow(b,2)-4*a*c,0.5)/2/a; function getQQRank(day) { day = 0 - +day; let rank = Math.floor(-2 + Math.pow(16 - 4 * day, 0.5) / 2); return rank } console.log(getQQRank(96)) //8 console.log(getQQRank(100)) //8 console.log(getQQRank(117)) //9
这就是个拟合的问题嘛……
拟合
取前10个数,二阶拟合:结果在左边那个框里,95%的置信区间。p3太小了,可以直接省掉。所以结果就是:f(x) = x^2 + 4 * x
f(x) = x^2 + 4 * x
以下的方法通过new Input(),在括号中传入当前活跃天数实例化,然后通过该实例的level方法取得当前等级。比如var le=new Input(100) console.log(le.level())//打印输出8
js初学者,有错误希望大家更正,勿喷。 var iGetANumber=0; function Input(val){//对象构造函数,传入活跃天数 this.val=val; } Input.prototype.level=function(){//对象取得等级方法 return getLevel(this.val) } function getLevel(input){ iGetANumber if(iGetANumber*iGetANumber>=input+4){ var j=iGetANumber; iGetANumber=0 return j-3 }else{ iGetANumber++; return getLevel(input) } }
感觉到我Python被无视了,补一下:
def QQ(x): for n in range(1,101): if n*n + n*4 < x: continue else: return n
求一下方程解,去掉负数那个;方程自己笔算。。
a方+4a=b
a方+4a+4=b+4
a=正根号(b+4)-2
代码的话,参考crp205的回答。
一元二次方程
我觉得这种算法,不需要逆推。而是将等级对应的天数列出来。然后通过区间的形式直接获取等级。公式归公式,但是逆推的时候不好推!如下为等级对应的天数(100级以内)
给个简单的版本。用的解一元二次方程的公式。
这就是个
拟合
的问题嘛……取前10个数,二阶拟合:
结果在左边那个框里,95%的置信区间。
p3太小了,可以直接省掉。
所以结果就是:
f(x) = x^2 + 4 * x
一元二次方程
感觉到我Python被无视了,补一下: