Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- int rabbits(long int r, long int n, long int k) {
- if (n == 0) return r;
- if (r <= k) return rabbits(r * 2, n - 1, k);
- return rabbits(2 * (r - k), n - 1, k);
- }
- int main() {
- long int n, k, r = 1;
- cin >> n >> k;
- cout << rabbits(r, n, k);
- return 0;
- }
- Как-то наконец земляне нашли обитаемую планету, назвали ее ТТВ, и отправили вместе с кораблем туда одного кролика. Кролику понравился климат новой планеты и через месяц он произвел на свет еще одного кролика. Известно, что каждый месяц каждый кролик, присутствующий на планете, производил на свет еще одного кролика. На планете откуда-то взялся монстр, который в начале месяца съедал K кроликов, если только их становилось строго больше K. В задаче необходимо определить количество кроликов, которое будет на планете через N месяцев после прибытия туда космического корабля с первым кроликом.
- #include "pch.h"
- #include <iostream>
- using namespace std;
- template <typename T> void printArray(T arr[], uint16_t size)
- {
- for (uint16_t i = 0; i < size; i++) { cout << arr[i] << " "; }; cout << endl;
- }
- template <typename T> void qsort(T arr[], uint16_t head, uint16_t tail)
- {
- uint16_t intH = head;
- uint16_t intT = tail;
- T mid = arr[(intH + intT) / 2];
- do
- {
- while (arr[intH] < mid) intH++;
- while (arr[intT] > mid) intT--;
- if (intH <= intT)
- {
- T tmp = arr[intH];
- arr[intH] = arr[intT];
- arr[intT] = tmp;
- cout << "Mid: " << mid << " Head: " << head << " Tail: " << tail << " intH: " << intH << " intT: " << intT << " " << endl;
- intH++;
- intT--;
- printArray(arr, 10);
- }
- } while (intH <= intT);
- cout << endl;
- if (intT > head) qsort(arr, head, intT);
- if (tail > intH) qsort(arr, intH, tail);
- }
- int main()
- {
- float arr[10] = { 1,4,3,7,8,11,3,9,0,-9 };
- printArray(arr, 10);
- qsort(arr, 0, 9);
- printArray(arr, 10);
- }
Advertisement
Add Comment
Please, Sign In to add comment