QQ等級について時間数の引き起こすアルゴリズムの連想を必要とします
これは、ゲームで比較的一般的なインクリメントデータです.以下のようになります.
//1 20//2 50//3 90//4 140//5 200 //6 270//7 350//8 440//12 900//16 1520//32 5600//48 12240
これらのデータはQQ以前のアップグレードルールから左が等級で、右が所要時間数です.
みんながどんな法則を見ているか分からないが、2つの等級ごとの差(30,40,50,60...)このような増加;
これが法則で、求和式=(初項+末項)*項数/2があることを覚えています.台形式に似ています
次はこの法則に従ってN級を求める時に必要な時間数を与えて、JAVAコードで実現します
注意:t_レベルはレベル数を表します
disc_growは差分値の1回あたりの増分を表す
disc_ベースは初期基数を表す
このアルゴリズムは使うところが多いので、もちろんプログラムで方法を書いてシミュレーションすることができますが、数学の方法ではもっと巧妙だと思います.
//1 20//2 50//3 90//4 140//5 200 //6 270//7 350//8 440//12 900//16 1520//32 5600//48 12240
これらのデータはQQ以前のアップグレードルールから左が等級で、右が所要時間数です.
みんながどんな法則を見ているか分からないが、2つの等級ごとの差(30,40,50,60...)このような増加;
これが法則で、求和式=(初項+末項)*項数/2があることを覚えています.台形式に似ています
次はこの法則に従ってN級を求める時に必要な時間数を与えて、JAVAコードで実現します
int disc_grow = 10;
int disc_base = 20;
for(int t_level=1;t_level<=48;t_level++){
System.out.println(t_level+":"+(disc_base + ((disc_base+disc_grow)+(disc_base+disc_grow)+disc_grow*(t_level-2))*(t_level-1)/2));
}
int disc_grow = 10;
int disc_base = 20;
for(int t_level=1;t_level<=48;t_level++){
System.out.println(t_level+":"+(disc_base + ((disc_base+disc_grow)+(disc_base+disc_grow)+disc_grow*(t_level-2))*(t_level-1)/2));
}
int t_level = N;( )
int disc_grow = 10;
int disc_base = 20;
(disc_base + ((disc_base+disc_grow)+(disc_base+disc_grow)+disc_grow*(t_level-2))*(t_level-1)/2);
注意:t_レベルはレベル数を表します
disc_growは差分値の1回あたりの増分を表す
disc_ベースは初期基数を表す
このアルゴリズムは使うところが多いので、もちろんプログラムで方法を書いてシミュレーションすることができますが、数学の方法ではもっと巧妙だと思います.