有點難度的編程題目

本帖最後由 haloPaul 於 2019-7-28 14:56 編輯

1 2 3 4
2       5
1       6
0 9 8 7

輸入Size = 4 就會打印出以上的圖案
這條題目我思考了很久,可能是我比較蠢吧,想了很久也想不到答案。
請問有沒有高手想出解決這個問題的算法?
我唯一的思路就只有先做上邊,然後右邊,再下邊,再左邊。

你講得唔清唔楚
可以點幫你姐
  1.     int input;
  2.     printf("Size=");
  3.     scanf("%d", &input);
  4.     if(input==4) { printf("1234\n2  5\n1  6\n0987"); }
複製代碼
如果係一個SEQ既問題, 咁應該提供埋打其他數字會係點既情況

TOP

睇落由1至9再到0,overflow再去返1至9 print條邊?
個次序係從左上角開始
先向右之後向下
再向返左,最後向上

假如Size = 5應該出
1 2 3 4 5
6          6
5          7
4          8
3 2 1 0 9

題目係咁樣?

TOP

用 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, ... 由左上角開始,依順時針方向,圍一個正方形。

TOP

本帖最後由 none_and_none 於 2019-7-29 15:13 編輯

先由砌個array入手

[[1, 2, 3, 4],
[2, '', '', 5],
[1, '', '', 6],
[0, 9, 8, 7]]

arr[0][0] = 1
arr[0][1] = 2
arr[0][2] = 3
arr[0][3] = 4

arr[1][3] = 5
arr[2][3] = 6

arr[3][3] = 7
arr[3][2] = 8
arr[3][1] = 9
arr[3][0] = 0

arr[2][0] = 1
arr[1][0] = 2

咁樣會唔會容易d諗到?

TOP

回覆 1# haloPaul


好似是中學或大學的功課題目

TOP

1 2 3 4
2       5
1       6
0 9 8 7

輸入Size = 4 就會打印出以上的圖案
這條題目我思考了很久,可能是 ...
haloPaul 發表於 2019-7-28 14:55

唔好諗點 print 出黎

諗點砌個 Data structure 代表佢

然後再諗 print 個 data structure 出黎

via HKEPC IR Pro 3.5.1 - iOS(2.4.1)

TOP

一D難度都無
如#7先做一個NxN的陣列就可以

TOP

上下每行 n 個, 左右向 n  - 2  個數.  
Total 會顯示 4 n - 4 既數字, 每個以 x % 10 去顯示.
自己推算會個位係乜, 唔難吧.
第 1 行 由 1 至 n % 10
第 2 行, 左右係 (4n - 4)% 10, (n + 1) % 10
第 3 行, 左右係 (4n - 5)% 10, (n + 2) % 10
:
:
第 n 行, 由 (3n - 2) % 10  至  (2n - 1) % 10

TOP

"我唯一的思路就只有先做上邊,然後右邊,再下邊,再左邊。" 呢個唔係你的思路而係功課要求.
除左第一列(由第二行開始)要諗下, 根本上冇難度

1 2 3 4
2       5
1       6
0 9 8 7

輸入Size = 4 就會打印出以上的圖案
這條題目我思考了很久,可能是 ...

我唯一的思路就只有先做上邊,然後右邊,再下邊,再左邊。

TOP