| Занятие 2 |
| Занятие 3 |
| Занятие 4 |
| Занятие 5 |
| Занятие 6 |
| Занятие 7 |
| Занятие 8 |
| Занятие 9 |
| Занятие 10 |
| Занятие 11 |
| Занятие 12 |
| Занятие 13 |
| Занятие 14 |
| Занятие 15 |
| Занятие 16 |
| Занятие 17 |
| Занятие 18 |
| Занятие 19 |
| Занятие 20 |
Занятие 1
Некоторые алгоритмыint nod(int a, int b)
{ return b?nod(b,a%b):a;
}
int nok(int a, int b)
{ return a/nod(a,b)*b;
}
int c(int n, int k)
{
int i,r=1;
for(i=k+1; i<=n; ++i)
r=r*i/(i-k);
return r;
}
Можно показать, что при выполнении деления делимое всегда кратно делителю: при выполнении деления на `j` делимое получается как произведение последовательных чисел от `i+1` до `i+j`, и хотя бы одно из этих чисел делится без остатка на `j`.