Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
namespace Factorial
{
class Program
{
static int recCalls = 0;
static int iterCalls = 0;
static void Main(string[] args)
{
var program = new Program();
var fact = 8;
Console.WriteLine("recursion {0} calls {1}", program.FactRecursion(fact), recCalls);
Console.WriteLine("recursion {0} calls {1}", program.FactIteration(fact), iterCalls);
Console.ReadLine();
}
public int FactRecursion(int num)
{
recCalls++;
if (num == 0) return 0;
if (num == 1) return 1;
return FactRecursion(num - 1) + FactRecursion(num - 2);
}
public int FactIteration(int num)
{
if (num == 0) return 0;
if (num == 1) return 1;
var first = 0;
var second = 1;
for (var i = 2; i <= num; i++)
{
iterCalls++;
var current = second + first;
first = second;
second = current;
}
return second;
}
}
}
Приведу пример из практики. Пришел ко мне разработчик, уже несколько лет работал в крупных компаниях, сам сделал несколько проектов на 1С-Битрикс — о чем говорит его портфолио. На проверку элементарными вопросам и заданием на рекурсию выяснилось, что он php изучает только второй месяц(!) — и вот как, как после этого верить людям? :)
про оплату этого тестового задания оплата не предусматривается.
за все время только один человек спросил про оплату и остался без работы у нас.
либо работу — ростокинолада
a^=b; b^=a; a^=b;.c=a+b; b=c-b; a=c-b.mov eax, [a]; xchg eax, [b], mov [a], eaxstatic bool Swap<T>(ref T x, ref T y)
{
try
{
T t = y;
y = x;
x = t;
return true;
}
catch
{
return false;
}
}
...
Swap(ref a, ref b);
Алгоритм проведения IT собеседования