/// <summary>
/// 等级换算成图标分布
/// 以QQ的形式计算
/// 2^(2*0) /1   
/// 2^(2*1) /4   
/// 2^(2*2) /16  
/// 2^(2*3) /64  
/// </summary>
/// <param name="target">目标等级</param>
/// <param name="x">计算底数</param>
/// <param name="y">最高多少次幂</param>
/// <returns></returns>        public IEnumerable<short> A(double target, double x, int y)
        {
            if (y < 1 || target <= 0 || x < 1)
            {
                return new short[] { 1 };
            }
            var r = new short[y + 1];
            for (int i = y; i > 0; i--)
            {
                double a = Math.Pow(x, i * 2);
                r[i] = (short)(target / a);
                target -= r[i] * a;
            }
            r[0] = (short)target;
            return r;
        }

思路就是这个等级去减每一个标志性等级(4,16,64...)的积分乘积。然后记录总等级/每一个标志性等级 ,这个结果就是多少个图案(皇冠,太阳...).从最大往小的图案算,减到最后就是多少个一级的图案(星星)

如果每一个标志性等级不是按Math.Pow(x, i * 2)算的话,把这个值公式换成别的应该就可以。

A(LV,2,4)

参考链接:

http://www.cnblogs.com/gzhnan/archive/2005/05/27/163466.html

算法:QQ等级换算成皇冠太阳星星月亮的更多相关文章

  1. discuz修改太阳,月亮,星星等级图标

    想必大家都想修改一下默认的等级图标吧,刚才在论坛上看见很多大神的方法都是要修改文件的,不过为了安全起见需要事先备份好才改,这种方法是可行的,但可能有些新手站长不会修改,又或者改错了恢复不来,现在我教大 ...

  2. QQ等级图标排名说明_QQ等级表,QQ最高等级(皇冠) qq到一星要5天

    从2007年11月29日中午12:00开始,在不改变原有计算方式的情况下,加速QQ会员等级升级.QQ会员用户在原有通过每天在线2小时累积活跃天数来获取相应QQ等级增长的基础上,还可以根据QQ会员VIP ...

  3. QQ等级表

    什么是QQ等级呢? 2003年,腾讯公司推出了QQ等级制度 . 最早是以小时,来计算的,那段时间,绝大部分QQ用户都在挂QQ,之后就有不少媒体指责其浪费能源,在有关部门的介入下,腾讯公司将QQ等级变为 ...

  4. 腾讯qq等级计算公式面试题

    就三道题大概是: 1. 推算出等级相应的天数 这个还比較简单,公式是:(b=2a+3)   a是等级, b是相应的天数 2. 推算出等级总共的天数 先看下规律 等级a 相应天数b 总天数s 1 5 5 ...

  5. 2020算法设计竞赛 I、匹配星星

    链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 天上有n颗星星,每颗星星有二维坐标(xi,yi)(x_i, y_i)(xi​,yi​),还有一个 ...

  6. 太阳地球月亮运行动画(使用@keyframes)

    闲来无事的demo <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  7. 2020牛客寒假算法基础集训营4-I 匹配星星【贪心】

    链接:https://ac.nowcoder.com/acm/contest/3005/I来源:牛客网 示例1 输入 复制 2 1 1 0 2 2 1 2 1 1 0 2 2 1 输出 复制 1 1 ...

  8. QQ 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件

    QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功 ...

  9. 活跃天数计算用户等级模仿QQ的升级方式

    QQ等级的算法:设当前等级为N,达到当前等级最少需要的活跃天数为D,当前活跃天数为Dc,升级剩余天数为Dr,则: 从而推出: 好了,引述完成,懒得写字了,贴出代码: 复制内容到剪贴板 代码: < ...

随机推荐

  1. springboot-登录拦截器

    小伙伴们大家好,今天给大家分享一个简单的springboot版登录拦截器 首先我们需要在springboot的启动类中让它实现WebMvcConfigurer 这个接口 比如: public clas ...

  2. Unix下cp、tar、sudo命令的使用

    环境 Ubuntu14.04 (这里用这样一个类Unix系统来代替Unix,sudo命令也是linux下的一个命令) 实例 : Ubuntu firefox flash插件的安装 到Adobe下载ta ...

  3. Python实现汉诺塔问题的可视化(以动画的形式展示移动过程)

    学习Python已经有一段时间了,也学习了递归的方法,而能够实践该方法的当然就是汉诺塔问题了,但是这次我们不只是要完成对汉诺塔过程的计算,还要通过turtle库来体现汉诺塔中每一层移动的过程. 一.设 ...

  4. JAVA抽象类和抽象方法(abstract)

    一.抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和 ...

  5. BitMap算法详解

    所谓的BitMap就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间. 基本思想: 这此我用一个简单的例子来详细 ...

  6. nodejs改变代码不需要重启的方法

    1.node 搭建本地服务器 在F:/node文件夹下新建app.js const http = require('http'); http.createServer((req, res) => ...

  7. [Swift实际操作]七、常见概念-(7)日历Calendar和日期组件DateComponents

    本文将为你演示日历和日期组件的使用.通过日历的日期部件,可以获得日期的各个部分. 首先引入需要用到的界面工具框架 import UIKit 初始化一个日期对象,其值为当前的日期. let dt = D ...

  8. grub覆盖mbr引导系统

    grub覆盖mbr引导系统 0.个人PC,WIN 7 + Kali,easybcd 不起作用,需要制作 kali 安装盘 PS:推荐使用 universal usb installer 制作. 方案一 ...

  9. css 三角图标

    .triangle-right{ display: inline-block; width: 0; height: 0; border-top: 6px solid transparent; bord ...

  10. D06——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D06 20180821内容纲要: 面向对象初级学习 1 面向对象 2 类 (1)封装 (2)继承 (3)多态 3 小结 4 练习:选课系统 5 课外拓展:答题系 ...