常见的算法实现

来源:互联网 发布:如何给php代码加密 编辑:程序博客网 时间:2024/05/17 04:42

1. 求最大公约数

          辗转相除法

private static int gcd(int x,int y){if(x<y)return gcd(y,x);if(y==0)return x;else return gcd(x-y,y);}


2. 十进制转换成任意进制

    思路:

         1、十进制数 num 转换为 n进制
               num%n结果肯定为n进制数的最后一位
               结果存入一个数组中

         2、进入一个循环num!=0时候
               num=num/n
               重复1的操作
               将倒数第二位、倒数第三位。。。到最终结果存入数组

        3、遍历数组从 count到0

/** * @param num  输入的十进制数 * @param n   要转换的进制 */public static void transform(int num,int n){if(num==0){System.out.println(0);return;}int array[]=new int[100];int location=0;while(num!=0){//当输入的数不为0时循环执行求余和赋值int remainder=num%n;num=num/n;array[location]=remainder;//将结果加入到数组中去location++;}show(array,location-1);}private static void show(int[] arr,int n){for(int i=n;i>=0;i--){if(arr[i]>9){System.out.print((char)(arr[i]+55));}elseSystem.out.print(arr[i]+"");}}

3. 斐波那契数列

int fabnacci(int n){if(n<0)return 0;else if(n==1)return 1;elsereturn fabnacci(n-1)+fabnacci(n-2);}


0 0
原创粉丝点击