從鍵盤輸入乙個整數(
1~20)則以該數字為矩陣的大小,把1,2,3…n*n 的數字按照順時針螺旋的形式填入其中。
例如:輸入數字2,則程式輸出:
1 24 3輸入數字3,則程式輸出:
1 2 3
8 9 4
7 6 5
輸入數字4,則程式輸出:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
分析:用二維陣列解決,從對角線分析,找出規律。1,1+4(n-1),1+4*2*(n-2),……
根據n確定可把該二維陣列劃分成多少環,也就是說,第一環的第乙個元素為1,第二環的第乙個元素為1+4(n-1),……
寫演算法,先確定第一環的演算法,寫在乙個方法中,讓該方法同時適應第二環,第三環,……
源**如下:
package com.lzw.cnum;
public class cirnum
// 當輸入的n>1時,用該方法填充第一環。
public void lauchrect(int index, int first)
// 處理最後一列。
for (; i < n - 1 - index; i++)
// 處理最後一行。
for (; j - index > 0; j--)
// 處理第一列。
for (; i - index > 0; i--)
//如果n是奇數,確定該矩陣中中間元素
。 if (n % 2 != 0)
// 遞迴。
if (index < this.circle) } public void display(int n) system.out.println(); } } public static void main(string args) }
乙個遞迴演算法
要求實現1,1,2,3,5,8,13,21,這樣乙個序列。分析一下輸出結果 發現後乙個數字是前2個數字的和。遞迴演算法如下 public static int recursion int i if i 0 return 0 else if i 0 i 2 return 1 else return r...
Treeview的乙個遞迴演算法
option explicit private sub form load with treeview1 nodes.add parent1 test1 nodes.add parent1 tvwchild,child1 test ch1 nodes.add parent1 tvwchild,chi...
乙個簡單的遞迴演算法的思考
一 遞迴演算法的概述 遞迴演算法的描述 把乙個大規模的問題劃分為乙個個小規模的同類問題的子問題。遞迴演算法的特徵 1 在函式中呼叫其本身 2 必須有乙個明確的遞迴出口 3 遞迴結果的輸出是乙個堆疊結構,最後的結果最先輸出,最初的結果最後輸出。二 乙個簡單的遞迴演算法的思考 思考一 遞迴語句最後的輸出...