티스토리 뷰

언타이틀/코드리뷰

수 이어가기 @507

U_황상진 2016. 6. 1. 18:32
황상진
<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>


댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크