c# 求N级分数的问题,计算等级的问题
  S91NpnmKKAgk 2023年11月02日 48 0


需求:
等级计算,一级区域,0-30分,2级区域,30-70,3级区域,70-120,4级区域,120-180
每增加一级,是上一级减上上级+10+上一级的值

已知条件:积分

求:用个方法动态计算出等级区域,然后通过积分,求正确的等级

例:积分为72分,则等级为3级

rank=(Math.sqrt(625+20*score)-25)/10;//rank为等级 double型,score为积分。其他不变,如果rank不是整数,则加1

double rank = 0;

rank = (Math.Sqrt(625 + 20 * Score) - 25) / 10;//rank为等级 double型,score为积分。其他不变,如果rank不是整数,则加一

if (rank > (int)rank)
{
    Grade = (int)rank + 1;
}
Grade = (int)rank;




下边这个可以动态计算出等级区域,满足需求中的等级计算条件


sum = (5 * n) * (n + 5)




java方式



public static void main(String[] args) {        
    System.out.println(getGrade(166499));
    System.out.println(getScore(180));
}

/**
 * 根据分数计算等级,参考 getScore(int grade)
 * @param score
 * @return
 *
 * @since 2009-5-10 上午10:24:05
 */
public static int getGrade(int score) {
    return (int)(Math.sqrt(6.25 + score / 5.0) - 2.5); 
}

/**
 * 计算每个等级的最低分:<br />
 * 1 级 --  30 分<br />
 * 2 级 --  70 分,与 1 级相差 40 分<br />
 * 3 级 -- 120 分,与 2 级相差 50 分<br />
 * 4 级 -- 180 分,与 3 级相差 60 分<br />
 * ……
 * @param grade
 * @return
 *
 * @since 2009-5-10 上午10:22:35
 */
public static int getScore(int grade) {
    return (5 * grade) * (grade + 5);
}




黑色头发:http://heisetoufa.iteye.com/


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  ZydNzX6XOBO2   2023年11月02日   113   0   0 出队C++ci#include
  ZydNzX6XOBO2   2023年11月02日   53   0   0 数据i++iosC++
  5b99XfAwWKiH   2023年11月12日   36   0   0 githubC++openrmcfish
S91NpnmKKAgk