进制转化,阶乘(递归法和迭代法)
例如:10 进制转 16 进制,计算公式如下例
创新互联公司-专业网站定制、快速模板网站建设、高性价比鄱阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式鄱阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖鄱阳地区。费用合理售后完善,十年实体公司更值得信赖。
- 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;
}
分享标题:进制转化,阶乘(递归法和迭代法)
文章出自:http://ybzwz.com/article/jjispe.html