温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

进制转化,阶乘(递归法和迭代法)

发布时间:2020-06-30 11:08:39 来源:网络 阅读:240 作者:凉白开dream 栏目:编程语言

例如:10 进制转 16 进制,计算公式如下例

  • 1958 转 16 进制
  • 1958 % 16 == 6 1958 / 16 == 122
  • 122 % 16 == 10 也就是 A 122 / 16 == 7
  • 7 < 16
  • 1958 的 16 进制 为 7A6
  • 注意:商作为下一次的被除数
  • 余数保留下来,(定义一个字符串,每次都ADD进去)。但是。是十六进制,要将9以上的转化为字符、
  • public static String decToHex(int n) {
    String r = "";

    while (n > 16) {
        int yushu = n % 16;
        int shang = n / 16;
    
        if (yushu > 9) {
            char c = (char)((yushu - 10) + 'A');
            r += c;
        } else {
            r += yushu;
        }
    
        n = shang;
    }
    
    if (n > 9) {
        char c = (char)((n - 10) + 'A');
        r += c;
    } else {
        r += n;
    }
    
    return reverse(r);

    }

    / 利用递归方式计算阶乘 重复调用
    public static long factorial(int n) {
    if (n == 0 || n == 1) {
    return 1;
    } else {``
    return n * factorial(n - 1);
    }
    }

// 利用迭代方式计算阶乘 保留上次结果,追加
public static long factorial2(int n) {
int r = 1;
for (int i = 1; i <= n; i++) {
//r = r i;
r
= i;
}

return r;

}

向AI问一下细节
推荐阅读:
  1. 阶乘的算法
  2. 进制转化

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI