n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
n - входной параметр программы. нужно посчитать сколько действий выполняет программа в зависимости от n.
Например, если программа выполняет ограниченное количество действий - вне зависимости от n она будет считаться конечное время. А если есть какие-нибудь циклы - время выполнения программы будет расти в зависимости от параметра.
пример 1: программа вычисления площади квадрата по его стороне.
два действия - перемножить два числа и вывести результат. F(n) = 2;
пример 2: программа вычисления факториала:
присваиваем результату 1
сравниваем n<2.
если верно - печатаем результат и выходим
иначе результат := результат * n
n:=n-1
и снова на сравнение
здесь F(n) = 1{начальное присвоение} + 3(n-1){сравнение и присвоения в цикле, который выполняется n-1 раза} + 1 {вывод результата} = 3n - 1
т.е время работы программы линейно возрастает при увеличении n
// delete.cpp: определяет точку входа для консольного приложения.//
#include "stdafx.h"#include "iostream"#include <conio.h>
using namespace std;
int count_ = 0;
char m[6][6] = { {'S', '.', '.', '.', '#', '#'}, { '#', '.', '#', '.', '.', '.' }, { '.', '.', '#', '.', '.', '#' }, { '.', '.', '#', '#', '#', '.' }, { '#', '.', '.', '.', '#', '#' }, { '#', '#', '#', '.', '.', 'F' }};
int find_p(int x, int y) { if (x < 0 || x > 5 || y < 0 || y > 5) return 0; if (m[y][x] == 'F') return 1; if (m[y][x] != '.' && m[y][x] != 'S') return 0; m[y][x] = '+'; count_++; if (find_p(x, y - 1)) return 1; if (find_p(x + 1, y)) return 1; if (find_p(x, y + 1)) return 1; if (find_p(x - 1, y)) return 1; m[y][x] = 'x'; return 0;}
int main(){ find_p(0, 0); cout << count_; //вывод _getch(); // задержка return 0;}