求關於質數相除循環的長度和打印長度
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;
}
}
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;
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.