求关于质数相除循环的长度和打印长度

来源:互联网 发布:苏州爱知电机有限公司 编辑:程序博客网 时间:2024/05/02 04:29
package com.oracle;

public class StudyArray {
    public static void main(String[] args) {
//        int array[] = new int[] { 45, 67, 56, 89, 23 };
//        int array1[] = new int[] { 46, 58, 59, 56, 54 };
//        int target = 45;
//        int length = 2;
//        int startIndex = 2;
        // System.out.println(getArrayLength(array));
        // findArray(array);
        // System.out.println(getMax(array));
        // System.out.println(getMaxIndex(array));
        // System.out.println(getMin(array));
        // System.out.println(getMinIndex(array));
        // reservt(array);
        // rightReservt(array);
        // System.out.println(getRight(array));
        // System.out.println( getLeftIndex(array));
        // System.out.println(compare(array,array1));
        // getLeft(array, length);
        // System.out.println(findLocation(array, 56));
        // System.out.println(getRightReverse(array, length));
        //print(getRightReverse(array, length, startIndex));
        //print(getRight(array, length, startIndex));
        // print(reverse(array));
    //    print(getLeft(array, length, startIndex));
        int[] array=getArray(1,7,10000);
        int length=getRepeatLength(array);
        System.out.println(length);
    }
       
static  int[] getArray(int first,int second,int length ){
    int[] array=new int[length];
          for (int i = 0; i < array.length; i++) {
            first=first*10;
            array[i]=first/second;
            first=first%second;
        }
          return array;
      }
static boolean isRepeat(int[] array,int length){
    int[] source=getRight(array,length);
    for (int i = 0; i < array.length/length; i++) {
        int[] dest=getRight(array,length,array.length-1-i*length);
        if(compare(source,dest)==false){
            return false;
        }
    }
    return true;
}
static int getRepeatLength(int[] array){
    for (int i = 0; i < array.length/2; i++) {
        int length=i+1;
        if(isRepeat(array, length)==true){
            return length;
        }
    }
    return -1;
}
    // 1打印数组
    static void print(int[] array) {
        for (int i = 0; i < array.length; i++) {
            System.out.print(array[i] + ",");
        }
        System.out.println();
    }

    // 2目标数是否在数组中
    static boolean isExists(int[] array, int target) {
        for (int i = 0; i < array.length; i++) {
            if (target == array[i])
                return true;
            break;
        }
        return false;
    }

    // 3找到目标数的索引
    static int findLocation(int[] array, int target) {
        int index = 0;
        for (int i = 0; i < array.length; i++) {

            if (target == array[i]) {
                index = i;
                break;
            }

        }
        return index;
    }

    // 4找到数组中的最大值
    static int getMaxValue(int[] array) {
        int max = array[0];
        for (int i = 0; i < array.length; i++) {

            if (max <= array[i]) {
                max = array[i];
            }
        }
        return max;
    }

    // 5找到最大值的索引
    static int getMaxLocation(int[] array) {
        int max = array[0];
        int index = 0;
        for (int i = 0; i < array.length; i++) {

            if (max <= array[i]) {
                max = array[i];
                index = i;
            }
        }
        return index;
    }

    // 6找到数组中的最小值
    static int getMinValue(int[] array) {
        int min = array[0];
        for (int i = 1; i < array.length; i++) {

            if (min >= array[i]) {
                min = array[i];
            }
        }
        return min;
    }

    // 7找到数组中最小值的索引
    static int getMinLocation(int[] array) {
        int min = array[0];
        int index = 0;
        for (int i = 1; i < array.length; i++) {

            if (min >= array[i]) {
                min = array[i];
                index = i;
            }
        }
        return index;
    }

    // 8数组逆转
    static void reverse(int[] array) {

        for (int i = 0; i < array.length / 2; i++) {
            int temp = array[i];
            array[i] = array[array.length - i - 1];
            array[array.length - i - 1] = temp;
            // System.out.print(array[i]+",");
        }
        // System.out.println();
    }

    // 9比较两个数组是否一致
    static boolean compare(int[] sourse, int[] dest) {
        for (int i = 0; i < dest.length; i++) {
            if (sourse[i] == dest[i]) {
                return true;
            }
        }
        return false;
    }

    // 10从左截取数组
    static int[] getLeft(int[] array, int length) {
        int[] result = new int[length];
        for (int i = 0; i < length; i++) {
            result[i] = array[i];
        }
        return result;
    }

    // 11从左边某个位置开始截取
    static int[] getLeft(int[] array, int length, int startIndex) {
        int[] result = new int[length];
        for (int i = 0; i < result.length; i++) {
            result[i] = array[i - startIndex];
        }
        return result;
    }

    // 12从右边截取
    static int[] getRight(int[] array, int length) {
        int[] result = new int[length];
        for (int i = 0; i < result.length; i++) {
            result[i] = array[array.length - i - 1];
        }
        return result;
    }

    // 13
    static int[] getRightReverse(int[] array, int length) {
        int[] result = getRight(array, length);
        reverse(result);
        return result;
    }

    // 14
    static int[] getRight(int[] array, int length, int startIndex) {
        int[] result = new int[length];
        for (int i = 0; i < result.length; i++) {
            result[i] = array[startIndex - i];
        }
        return result;
    }

    // 15
    static int[] getRightReverse(int[] array, int length, int startIndex) {
        int[] result = getRight(array, length, startIndex);
        reverse(result);
        return result;
    }
}

0 0
原创粉丝点击