`
qqbwww
  • 浏览: 60215 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

阶乘 16进制转换 输出1-9所有的排列组合

阅读更多

阶乘的代码

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的阶乘的一个方法,可以用多种形式输出的

    阶乘在数学中是一个非常基础且重要的概念,它在组合数学、...总之,计算n的阶乘涉及递归与循环两种算法,以及多种输出形式,包括各种进制转换和大数表示。掌握这些知识点对于理解数学和计算机科学的基本概念至关重要。

    汇编语言程序设计练习题

    - 十进制到二进制转换:利用位操作和数学运算(如模和除)来完成转换。 - 数据类型:了解如何在汇编语言中表示不同的数据类型(例如字)。 #### 练习题4:将一个字变量中2进制形式的无符号整数以10进制形式输出。...

    JAVA练习题(50题)

    #### 练习题44:八进制转换 - **知识点**: - 八进制数的表示与转换。 - 数制转换的方法。 - **实现思路**:实现十进制到八进制的转换。 #### 练习题45:字符串判断 - **知识点**: - 字符串的判断与处理。 - ...

    基础C学习语言

    这涉及到位运算,比如二进制转换可以通过除2取余法,十六进制转换可以通过除16取余法实现。 另一个问题涉及排列组合,具体是关于不同颜色灯的放置问题。这需要理解排列的计算方法,即n个不同元素的排列数为n!,以及...

    ACM 算法经典代码 数据结构经典代码

    6.任意进制转换 7.最大公约数、最小公倍数 8.组合序列 9.快速傅立叶变换(FFT) 10.Ronberg算法计算积分 11.行列式计算 12.求排列组合数 字符串处理: 1.字符串替换 2.字符串查找 3.字符串截取 ...

    java 常用的函数和方法

    * 将指定byte数组以16进制的形式打印到控制台 * * @param hint 提示信息 * @param b 字节数组 */ public static void printHexString(String hint, byte[] b) { System.out.print(hint); for (int i = 0; i ;...

    ACM算法总结

    任意进制互相转换是一种常用的算法,用于将一个数字从一种进制转换为另一种进制。该算法的时间复杂度为 O(log N)。 13. 对二进制的 1 个数的处理(Bit Manipulation) 对二进制的 1 个数的处理是一种常用的算法,...

    java算法练习题 大家下载看看啦

    - **描述**:生成一个五位数的所有排列组合。 - **实现思路**: - 使用递归方法生成所有可能的排列组合。 - 每次递归选择一个数字放置在当前位置,然后递归剩余的数字。 #### 25. 回文判断 - **描述**:判断一个...

    Discrete Mathematics with Applications

    - **序列**:表示按照一定顺序排列的一系列项。 **3.2 级数** - **求和**:符号为 `∑`,表示对一系列项进行求和。 - **乘积**:符号为 `∏`,表示对一系列项进行乘积。 - **阶乘**:符号为 `n!`,表示所有小于...

    2008年计算机二级考试c语言试题

    - **字符串处理**: 使用 `strlen` 计算字符串长度,然后使用 `s[0]+strlen(s[1])-1` 输出最后一个字符。 - **循环结构**: 使用 `while` 循环直到字符串为空。 - **指针移动**: 使用 `s[1]++` 将指针向右移动一位。 ...

    计算机等级考试二级C语言程序改错题.pdf

    3. 数学函数计算:计算特定数学公式T=1/2-1/m,要求熟悉分数运算和条件判断。 4. 最大公约数(GCD):求两个非零正整数的最大公约数,需要用到辗转相除法或欧几里得算法。 5. 数字筛选:寻找1-55之间符合特定条件的...

    数学建模中常用的30个MATLAB程序和函数

    6. 排列组合函数: - `factorial(n)`:阶乘函数,n!。 7. 复数函数: - `real(z)`:获取复数的实部。 - `imag(z)`:获取复数的虚部。 - `abs(z)`:求复数的模。 - `angle(z)`:求复数的辐角,范围是 (-π, π]...

    VB程序设计的常用算法4.docx

    例如,计算阶乘的`fac`函数,当`n`等于1时结束递归,否则`fac`等于`n`乘以`fac(n-1)`。递归处理通常借助于数据结构(如栈)来存储中间状态,直到递归结束并恢复原始参数。 这些算法在VB程序设计中有着广泛的应用,...

    java常用英语

    - **Factorial**: 阶乘,数学中的一个运算符号。 - **Next**: 下一个,用于表示序列中的下一个元素。 - **Parse**: 解析,将字符串转换成数据的过程。 - **Buffer**: 缓冲器,用于临时存储数据。 - **Stream**: 流,...

    数学建模中常用的30个MATLAB程序和函数.doc

    4. **排列组合函数**: - `factorial(n)`:阶乘,返回n的阶乘。 5. **复数函数**: - `real(z)`:实部,返回复数z的实部。 - `imag(z)`:虚部,返回复数z的虚部。 - `abs(z)`:模,返回复数z的模。 - `angle(z...

    ACM算法模板选doc

    11. **组合序列**:涉及组合数学中的组合计算,如阶乘、排列、组合的计算。 12. **整点三角形**:与平面几何有关,寻找满足特定条件的整数坐标点。 13. **BFS最长路径**:使用广度优先搜索寻找树或图中最长路径。 ...

    c语言经典案例

    实例035 十进制转换为二进制 45 实例036 n进制转换为十进制 46 实例037 小球下落问题 48 实例038 巧分苹果 49 实例039 老师分糖果 50 实例040 IP地址形式输出 51 实例041 特殊的完全平方数 52 实例042 一数三平方 54...

Global site tag (gtag.js) - Google Analytics