xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 4KB
    文件類(lèi)型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-28
  • 語(yǔ)言: Java
  • 標(biāo)簽: 幻方??java??

資源簡(jiǎn)介

n階幻方的求法(java代碼版)。由于現(xiàn)在網(wǎng)上還沒(méi)有系統(tǒng)的求n階幻方的java代碼,所以寫(xiě)出來(lái)供大家參考!

資源截圖

代碼片段和文件信息

package?test03;
import?java.util.Arrays;
import?java.util.Scanner;

public?class?MagicSquare?{

public?static?void?main(String[]?args)?{
System.out.println(“請(qǐng)確定是幾階幻方“);
Scanner?scan?=?new?Scanner(System.in);
int?a=scan.nextInt();
int[][]?array=null;
if(a%2!=0){
array?=?getSingleArray(a1);
}else{
array=getDoubleArray(a);
}
for(int[]?arr:array){
System.out.println(Arrays.toString(arr));
}
scan.close();
}
/**
?*?奇數(shù)階幻方將最小的數(shù)放在第一行最中間,然后將下一個(gè)放在這個(gè)數(shù)的右上方;如果下一個(gè)的地方有數(shù)了則放在該數(shù)的下方
?*?@param?index:index表示幻方的階數(shù)(奇數(shù))
?*?@param?num:num表示幻方中最小的數(shù)
?*?@return:返回滿(mǎn)足幻方的數(shù)組
?*/
public?static?int[][]?getSingleArray(int?indexint?num){
//定義數(shù)組將最小的數(shù)放在數(shù)組第一行正中間
int[][]?arr=new?int[index][index];
arr[0][index/2]=num;
int?x=0;int?y=index/2;
//將最小數(shù)以后的數(shù)放入數(shù)組中
for(int?i=num+1;i<=index*index+num-1;i++){
//xy為上個(gè)數(shù)的坐標(biāo)把它們改為當(dāng)前數(shù)的坐標(biāo)
if(x-1<0){//x-1<0說(shuō)明x坐標(biāo)越界x變成x坐標(biāo)的最大值;否則x-1就是當(dāng)前數(shù)的橫坐標(biāo)
x=arr.length-1;
}else{
x=x-1;
}
if(y+1>arr.length-1){//y+1大于y的最大值說(shuō)明y坐標(biāo)越界y變?yōu)?;否則y+1就是當(dāng)前數(shù)的縱坐標(biāo)
y=0;
}else{
y=y+1;
}
while(true){
//判斷得到的坐標(biāo)是否有數(shù)
if(arr[x][y]==0){
//得到的坐標(biāo)沒(méi)數(shù)則直接將當(dāng)前數(shù)賦給數(shù)組
arr[x][y]=i;
break;
}else{
//得到的坐標(biāo)有數(shù)則獲取上一個(gè)數(shù)的坐標(biāo)x坐標(biāo)+1作為現(xiàn)在的縱坐標(biāo)繼續(xù)循環(huán)直到xy對(duì)應(yīng)的值是0賦值退出
int[]?js?=?getIndex(arr?i-1);
x=js[0]+1;
y=js[1];
if(x>arr.length-1){
x=0;
}
}
}
}
return?arr;
}
/**
?*?
?*?@param?arr:目標(biāo)數(shù)組
?*?@param?num:目標(biāo)數(shù)(在arr數(shù)組中唯一)
?*?@return:返回arr數(shù)組中num這個(gè)數(shù)的坐標(biāo)(存放在數(shù)組中)
?*/
public?static?int[]?getIndex(int[][]?arrint?num){
int[]?s=new?int[2];
for(int?i=0;i for(int?j=0;j if(arr[i][j]==num){
s[0]=i;
s[1]=j;
}
}
}
return?s;
}
/**
?*?偶數(shù)階幻方
?*?ps:不包含2階幻方
?*?@param?len:幻方階數(shù)因?yàn)椴话?

評(píng)論

共有 條評(píng)論

相關(guān)資源