首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个公式计算的有关问题

2012-10-21 
一个公式计算的问题?一个积分,对应一个等级,但一个等级可能对应多个积分,这样,如果给你任意一个积分,怎么

一个公式计算的问题?
一个积分,对应一个等级,但一个等级可能对应多个积分,这样,如果给你任意一个积分,怎么用公式算出等级?没有财富了,郁闷……
前面3级情况特殊:
积分:0 = 等级:1
积分:1 = 等级:2
积分:2 = 等级:3
后面情况一样,每4级为一个阶段。
积分:3或4或5 = 等级:4
积分:6或7或8 = 等级:5
积分:9或10或11 = 等级:6
积分:12或13或14 = 等级:7
---------------------------------------------
积分:15或16或17或18或19 = 等级:8
积分:20或21或22或23或24 = 等级:9
积分:25或26或27或28或29 = 等级:10
积分:30或31或32或33或34 = 等级:11
---------------------------------------------
积分:35或36或37或38或39或40或41 = 等级:12
积分:42或43或44或45或46或47或48 = 等级:13
积分:49或50或51或52或53或54或55 = 等级:14
积分:56或57或58或59或60或61或62 = 等级:15
---------------------------------------------
积分:63或64或65或66或67或68或69或70或71 = 等级:16
积分:72或73或74或75或76或77或78或79或80 = 等级:17
积分:81或82或83或84或85或86或87或88或89 = 等级:18
积分:90或91或92或93或94或95或96或97或98 = 等级:19
---------------------------------------------
除了前3级为+0,+1,+1,然后按下面的规则加
1-3级  +0,+1,+1
每4级为一个阶段   
4-7级  +2,+3,+3,+3   
8-11  +4,+5,+5,+5   
12-15 +6,+7,+7,+7
16-19 +8,+9,+9,+9
20-23 +10+11+11+11
24-27 +12+13+13+13
28-31 +14+15+15+15
..... ............
n n+3  +(n/4)×2+[(n/4)×2+1] +[(n/4)×2+1] +[(n/4)×2+1] 
注意n是整数,必须去掉小数部分,也不能四舍五入

[解决办法]

C# code
        private static int checkLevel(int score)        {            int level = 0;            if (score < 4)            {                level = score + 1;            }            else if (score == 4)            {                level = 4;            }            else            {                int rus = 2;                for (int n = 1; n < int.MaxValue; n++)                {                    rus = rus + 8 * n + 4;                    if (rus >= score)                    {                        rus = n;                        break;                    }                }                level = score / (2 * rus + 1) + (2 * rus + 1);            }            return level;        } 

热点排行