#include #include #include #include #include #include #include #include #include using namespace std; typedef vector ivec_t; typedef vector imat_t; #define FOR_EACH(p,q,r) for(p=q;p!=r;p++) #define FOR_EACH_C(p,c) for(p=(c).begin();p!=(c).end();p++) const int MAX=100000; int main() { int n,i; ivec_t table(MAX+2,0); table[1] = 1; FOR_EACH(i,1,MAX/2+1) { table[i*2] = table[i]; table[i*2+1] = table[i]+table[i+1]; } while(cin >> n , n) { cout << *max_element(table.begin(),table.begin()+n+1) << endl; } return 0; } #include #include #include #include #include #include #include #include #include using namespace std; typedef vector ivec_t; typedef vector imat_t; #define FOR_EACH(p,q,r) for(p=q;p!=r;p++) #define FOR_EACH_C(p,c) for(p=(c).begin();p!=(c).end();p++) const int MAX=100000; int main() { int n,i; ivec_t table(MAX+2,0); table[1] = 1; FOR_EACH(i,1,MAX/2+1) { table[i*2] = table[i]; table[i*2+1] = table[i]+table[i+1]; } while(cin >> n , n) { cout << *max_element(table.begin(),table.begin()+n+1) << endl; } return 0; }