白駿9461号ローブ数列
白骏9461号罗布数列
1.質問
右図に示すように、三角形は螺旋状に並んでいます.最初の三角形は正の三角形で、辺の長さは1です.次に、次の手順で正三角形を追加します.スパイラル上の最長エッジの長さがkの場合、そのエッジにkの長さの正三角形を追加します.
波数の半数列P(N)は螺旋上の正三角形の辺の長さである.P(1)からP(10)までの最初の10の数字は、1、1、2、2、3、4、5、7、9である.
Nが与えられた場合、P(N)を求めるプログラムを作成してください.
2.入力
第1行は、試験例の個数Tを与える.各試験例は1行からなり、Nが与えられる.(1 ≤ N ≤ 100)
3.出力
各テストボックスはP(N)を出力する.
4.解答
a[n] = a[n-3] + a[n-2]
5.最初の解答と違う点
말고 없다. C++이 더 편해서 좋다. 오버플로우 나면 짜증나지만 데이터 타입 안 쓰면 컴퓨터가 댕청해서 내 말 못 알아 들을 것 같은 불안한 기분이 든다.
6.コード
#include <iostream>
using namespace std;
long long d[100];
int main() {
int testCase;
cin >> testCase;
d[0] = 1;
d[1] = 1;
d[2] = 1;
for (int i = 3; i < 100; i++) {
d[i] = d[i - 2] + d[i - 3];
}
for (int i = 0; i < testCase; i++){
int index;
cin >> index;
cout << d[index - 1] << "\n";
}
}
Reference
この問題について(白駿9461号ローブ数列), 我々は、より多くの情報をここで見つけました https://velog.io/@e7838752/boj9461テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol