問題の説明
次の図に示すように、Xiaomingは、1から始まる正の整数の「蛇の形」で無限行列を埋めます。
マトリックスの2行目と2列目の数が5であることが簡単にわかります。マトリックスの20行目と20列目の数を計算してください。
回答提出
これは、空欄に結果を記入する質問です。結果を計算して提出するだけです。
この質問の結果は整数です。回答を送信するときは、この整数のみを入力してください。余分なコンテンツを入力すると、スコアを付けることができなくなります。
回答:761
問題解決策1
法則を見つける:
解题思路
:対角線上の数字は1、5、13、25 .. ..
#include <iostream>
using namespace std;
int main()
{
int w = 4, ans = 1;
for (int i = 1; i <= 19; i ++)
{
ans += w;
w += 4;
}
cout << ans << endl;
return 0;
}
問題解決2
法則を見つける:
解题思路
:
- 最初のレイヤーの開始は1、座標は
(1, 1)
、、行と列の合計は2です。 - 2番目のレイヤーの開始は2、座標は
(2, 1)
、、行と列の合計は3です。 - 3番目のレイヤーの開始は4、座標は
(3, 1)
、、行と列の合計は4です。 - 4番目のレイヤーの開始は7、座標は
(1, 4)
、、行と列の合計は5です。
#include <cstdio>
#include <iostream>
using namespace std;
int g[40][40];
int main()
{
int k = 1;
for (int i = 2; i <= 40; i ++) // 枚举行列之和
if(i % 2 == 0)
{
for (int j = 1; j < i; j ++) // 奇数层:从下到上
g[j][i - j] = k ++;
}
else
{
for (int j = i - 1; j >= 1; j --) // 偶数层:从上到下
g[j][i - j] = k ++;
}
for (int i = 1; i <= 20; i ++)
{
for (int j = 1; j <= 20; j ++) printf("%4d", g[i][j]);
cout << endl;
}
return 0;
}