티스토리 뷰
황상진
<pre class="brush:cpp">
#include <iostream>
using
namespace
std;
//hsj
int
main() {
int
num[100] = { 0, };
int
count1 = 2;
int
count2 = 2;
int
count3 = 2;
int
k = 0;
cin >> num[0];
for
(
int
j = 1; num[0] >= j; j++) {
num[1] = num[0] - j;
num[2] = num[0] - num[1];
count2 = 2;
for
(
int
i = 2; num[i - 2] >= num[i - 1]; i++) {
num[i] = num[i - 2] - num[i - 1];
count2++;
if
(num[i] < 0) {
break
;
}
if
(count2 >= count1) {
k = num[0] - j;
count1 = count2;
}
}
}
cout << count1 << endl;
cout << num[0] <<
" "
<< k <<
" "
;
for
(
int
i = 2; num[i - 2] >= num[i - 1]; i++) {
num[1] = k;
num[i] = num[i - 2] - num[i - 1];
if
(num[i] < 0) {
break
;
}
cout << num[i] <<
" "
;
}
}
</pre>
김영준
<pre class="brush:cpp">
#include<iostream>
using namespace std;
//20152452 김영준
int main() {
int num1;
int max = 0;
cin >> num1;
int num2 = num1 / 2 + 1;
for (int i = num2; i < num1;i++) {
int n1, n2, temp=0, cnt=0;
n1 = num1;
n2 = i;
while (n1-n2>=0) {
cnt++;
temp = n1;
n1 = n2;
n2 = temp - n1;
}
cnt += 2;
if (max < cnt) {
max = cnt;
num2 = i;
}
}
cout << max << endl;
int *arr = new int[max];
arr[0] = num1;
arr[1] = num2;
for (int i = 0; i < max; i++) {
arr[i + 2] = arr[i] - arr[i + 1];
cout << arr[i]<< " ";
}
cout << endl;
return 0;
}
</pre>
댓글