- •Оглавление
- •1. Вычисление нод алгоритмом Евклида
- •2. Нахождение нод и нок
- •3. Вычисление факториала
- •4. Вычисление факториала рекурсивно
- •5. Вычисление биноминального коэффициента
- •7. Разложение целого числа на сумму биноминальных коэффициентов
- •8. Сумма некоторых элементов массива
- •9. Модификация массива данных. Вариант 1.
- •10. Модификация массива данных. Вариант 2.
- •11. Работа с числами массива
- •12. Поиск совпадений чисел в массиве
- •13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
- •14. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.
- •15. Подсчет количества цифр в целом числе
- •16. Проверка целого числа на симметрию цифр. Вариант 1.
- •17. Проверка целого числа n на симметрию цифр Вариант 2.
- •19. Программа проверки глубины вложения скобок
- •20. Формирование двумерного массива
- •21. Вычисление определителя матрицы второго порядка
- •22. Вычисление определителя матрицы 3 - го порядка
- •23. Нахождение обратной перестановки и по ней циклической формы
- •24. Сортировка простыми вставками
- •25. Сортировка алгоритмом Шелла
- •26. Быстрая сортировка Хоора
- •27. Поразрядная сортировка
- •28. Cортировка 1 методом пузырька
- •29. Cортировка 2 методом пузырька
- •30. Построение 2 обратной и циклической формы перестановки
- •31. Работа с библиотечными карточками
- •32. Работа с конструктором и деструктором
- •33. Работа с комплексными числами
- •34. Работа_1 с комплексными числами через указатели
- •35. Работа_2 с комплексными числами через указатели
- •36. Построение циклической очереди статическое распределение памяти
- •37. Построение стека символов статическое распределение памяти
4. Вычисление факториала рекурсивно
// Вычисление факториала n! рекурсивно
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int fact(int i); // объявление функции
int main()
{
int n;
cout<<"Enter n = ";
cin>>n;
cout<<" \n n! = "<<fact(n)<<"\n";
getch();
return 0;
}
int fact(int i)
{
if(i<=1) return 1;
return i*fact(i-1);
}
5. Вычисление биноминального коэффициента
// Нахождение биноминального коэффициента P(n,k)
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int fact(int i);
int _tmain(int argc, _TCHAR* argv[])
{
int n,k;
cout<<"Enter n >k ";
cin>>n;
cout<<"\n Enter k <n ";
cin>>k;
cout<<" \n P(n,k) = "<<fact(n)/(fact(k)*fact(n-k))<<"\n";
getch();
return 0;
}
int fact(int i)
{
if(i<=1) return 1;
return i*fact(i-1);
}
6. Поиск всех совершенных чисел < n
/* Получить все совершенные числа < n, т.е. равные сумме всех своих делителей, кроме самого числа */
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int n,i,j,sum;
cout<<"Enter n\n";
cin>>n;
for(i=1;i<=n;i++) // цикл по числам до n
{
sum=0;
for(j=1;j<i;j++) //цикл поиска делителей числа i
if(i%j==0) sum=sum+j;
if(sum==i) cout<<"\n совершенное число = "<<i;
}
getch();
return 0;
}
7. Разложение целого числа на сумму биноминальных коэффициентов
/* Разложение N>=11 на сумму трех биноминальных коэффициентов, при этом
a<=b<=c<=N */
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <string.h>
using namespace std;
#define N 12 // N- именнованная константа
int fact(int k);
void main()
{
int a,b,c,k,k1,k2,k3;
for(c=3;c<=N;c++)
for(b=2;b<=c;b++)
for(a=1;a<=b;a++)
{
k1=fact(c)/(6*fact(c-3));
k2=fact(b)/(2*fact(b-2));
k3=fact(a)/(fact(a-1));
if(N==k1+k2+k3)
{
cout<<" a= "<<a<<" b = "<<b<<" c = "<<c;
cin>>k;
return;
}
}
}
int fact(int k)
{
if(k<=1) return 1;
return k*fact(k-1);
}
8. Сумма некоторых элементов массива
/* Задан массив целых чисел А[10], найти сумму его четных членов и нечетных чисел */
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10 // SIZE - именнованная константа
int main()
{
int i,n;
int s1=0,s2=0,A[SIZE];
cout<<"Input n= \n";
cin>>n;
cout<<" Enter items of array A:\n";
for(i=0;i<=n-1;i++) cin>>A[i];
for(i=0;i<=n-1;i=i+2) s1=s1+A[i];
for(i=0;i<=n-1;i++)
if(A[i]%2!=0) s2=s2+A[i];
cout<<" Sum of even members = "<<s1;
cout<<" Sum of odd numbers = "<<s2;
getch();
return 0;
}
9. Модификация массива данных. Вариант 1.
/* Даны целые положительные числа а1,а2,...аn. Получить новую
последовательность, выбросив из исходной все члены со значением max(a1,a2,...,an).*/
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10 // SIZE - именнованная константа
int main()
{
int i,n,A[SIZE],B[SIZE],max,k=0;
cout<<"Enter n= \n";
cin>>n;
cout<<"Enter array A: \n";
for(i=0;i<n;i++) cin>>A[i];
max=A[0];
for(i=0;i<n;i++) if (A[i]>max)max=A[i];
for(i=0;i<=n-1;i++)
{
if (A[i]!=max)
{
B[k]=A[i];
k++;
}
}
cout<<"New array: \n";
for(i=0;i<=k-1;i++) cout<<B[i];
getch();
return 0;
}
