阶乘的代码
public class Factorial {
public static Integer factorial(int i){
if(i<0){
System.out.println("输入错误");
return null;
}else if(i==0){
return 1;
}else{
if(i-1 > 1){
return i*factorial(i-1);
}else{
return i;
}
}
}
public static void main(String[] args) {
for(int num=-100;num<10;num++){
System.out.println(num+ "的阶乘是"+ factorial(num));
}
}
}
负数不知道怎么处理好
16进制转换为10进制整数public class Hex2Decimal {
//用Integer的方法
/*
public static int hex2Decimal(String str){
return Integer.parseInt(str, 16);
}*/
//用Character的方法
public static int hex2Decimal(String str){
int len = str.length();
int sum = 0;
for(int i=0;i<len;i++){
char c = str.charAt(i);
int n = Character.digit(c, 16);
sum += n*(1<<(4*i));
}
return sum;
}
public static void main(String[] args) {
String st = "aa";
System.out.println(hex2Decimal(st));
}
}
输出1-9所有的排列组合public class Permutations {
private int[] a = new int[10];
public void init(){
for(int i=1;i<=9;i++){
a[i]=i;
}
}
private void printNumber(){
for(int j=1;j<=9;j++){
System.out.print(a[j]+" ");
}
System.out.println();
}
public void range(int index){
if(index==9){
printNumber();
}
else{
for(int i=index;i<=9;i++){
int k = index;
swap(i,k);
range(k+1);
swap(i,k);
}
}
}
private void swap(int i, int j){
int temp =a[i];
a[i]=a[j];
a[j]=temp;
}
public static void main(String[] args) {
Permutations p = new Permutations();
p.init();
p.range(1);
}
}
分享到:
相关推荐
阶乘在数学中是一个非常基础且重要的概念,它在组合数学、...总之,计算n的阶乘涉及递归与循环两种算法,以及多种输出形式,包括各种进制转换和大数表示。掌握这些知识点对于理解数学和计算机科学的基本概念至关重要。
- 十进制到二进制转换:利用位操作和数学运算(如模和除)来完成转换。 - 数据类型:了解如何在汇编语言中表示不同的数据类型(例如字)。 #### 练习题4:将一个字变量中2进制形式的无符号整数以10进制形式输出。...
#### 练习题44:八进制转换 - **知识点**: - 八进制数的表示与转换。 - 数制转换的方法。 - **实现思路**:实现十进制到八进制的转换。 #### 练习题45:字符串判断 - **知识点**: - 字符串的判断与处理。 - ...
这涉及到位运算,比如二进制转换可以通过除2取余法,十六进制转换可以通过除16取余法实现。 另一个问题涉及排列组合,具体是关于不同颜色灯的放置问题。这需要理解排列的计算方法,即n个不同元素的排列数为n!,以及...
6.任意进制转换 7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 ...
* 将指定byte数组以16进制的形式打印到控制台 * * @param hint 提示信息 * @param b 字节数组 */ public static void printHexString(String hint, byte[] b) { System.out.print(hint); for (int i = 0; i ;...
任意进制互相转换是一种常用的算法,用于将一个数字从一种进制转换为另一种进制。该算法的时间复杂度为 O(log N)。 13. 对二进制的 1 个数的处理(Bit Manipulation) 对二进制的 1 个数的处理是一种常用的算法,...
- **描述**:生成一个五位数的所有排列组合。 - **实现思路**: - 使用递归方法生成所有可能的排列组合。 - 每次递归选择一个数字放置在当前位置,然后递归剩余的数字。 #### 25. 回文判断 - **描述**:判断一个...
- **序列**:表示按照一定顺序排列的一系列项。 **3.2 级数** - **求和**:符号为 `∑`,表示对一系列项进行求和。 - **乘积**:符号为 `∏`,表示对一系列项进行乘积。 - **阶乘**:符号为 `n!`,表示所有小于...
- **字符串处理**: 使用 `strlen` 计算字符串长度,然后使用 `s[0]+strlen(s[1])-1` 输出最后一个字符。 - **循环结构**: 使用 `while` 循环直到字符串为空。 - **指针移动**: 使用 `s[1]++` 将指针向右移动一位。 ...
3. 数学函数计算:计算特定数学公式T=1/2-1/m,要求熟悉分数运算和条件判断。 4. 最大公约数(GCD):求两个非零正整数的最大公约数,需要用到辗转相除法或欧几里得算法。 5. 数字筛选:寻找1-55之间符合特定条件的...
6. 排列组合函数: - `factorial(n)`:阶乘函数,n!。 7. 复数函数: - `real(z)`:获取复数的实部。 - `imag(z)`:获取复数的虚部。 - `abs(z)`:求复数的模。 - `angle(z)`:求复数的辐角,范围是 (-π, π]...
例如,计算阶乘的`fac`函数,当`n`等于1时结束递归,否则`fac`等于`n`乘以`fac(n-1)`。递归处理通常借助于数据结构(如栈)来存储中间状态,直到递归结束并恢复原始参数。 这些算法在VB程序设计中有着广泛的应用,...
- **Factorial**: 阶乘,数学中的一个运算符号。 - **Next**: 下一个,用于表示序列中的下一个元素。 - **Parse**: 解析,将字符串转换成数据的过程。 - **Buffer**: 缓冲器,用于临时存储数据。 - **Stream**: 流,...
4. **排列组合函数**: - `factorial(n)`:阶乘,返回n的阶乘。 5. **复数函数**: - `real(z)`:实部,返回复数z的实部。 - `imag(z)`:虚部,返回复数z的虚部。 - `abs(z)`:模,返回复数z的模。 - `angle(z...
11. **组合序列**:涉及组合数学中的组合计算,如阶乘、排列、组合的计算。 12. **整点三角形**:与平面几何有关,寻找满足特定条件的整数坐标点。 13. **BFS最长路径**:使用广度优先搜索寻找树或图中最长路径。 ...
实例035 十进制转换为二进制 45 实例036 n进制转换为十进制 46 实例037 小球下落问题 48 实例038 巧分苹果 49 实例039 老师分糖果 50 实例040 IP地址形式输出 51 实例041 特殊的完全平方数 52 实例042 一数三平方 54...