А1043

Задача

Построить все правильные скобочные выражения длины 10, то есть, которые содержат по 5 левых и по 5 правых скобок.

Код на языке С++:

Посмотреть программу можно здесь

Код на языке Java:

Ссылка на программу: http://ideone.com/9MjHSA

Решение:

В переменной [latex]x[/latex] мы будем хранить количество открытых ([latex]»(«[/latex]) скобок. Далее  проверяем условие, что если [latex]x>0[/latex], то можем поставить закрывающую ([latex]»)»[/latex]) скобку. Идем дальше, смотрим сколько свободных мест осталось и если мест осталось столько же, сколько открывающих, то все остальные закрывающие.

Related Images:

A708

Задача

Даны квадратная матрица [latex]A[/latex] порядка [latex]m[/latex], натуральное число [latex]n[/latex]. Получить матрицу [latex]E+A+A^2+A^3+\dots+A^n,[/latex] где [latex]E[/latex] — единичная матрица порядка [latex]m[/latex].

Тесты

m, n матрица А результат
3 3 3 2 1

5 7 3

9 7 3

359 358 158

1028 1047 460

1156 1162 513

2 2 6 7

12 54

127 427

732 3055

Код на языке С++:

Ссылка на программу:http://ideone.com/3B9ti7

Код на языке Java:

Ссылка на программу: http://ideone.com/hOFldD

Решение:

Заводим четыре матрицы: исходную, вспомогательную, матрицу в степени [latex]n[/latex] и результирующую;  обнуляем все матрицы, тем самым очищаем память. Дальше возводим матрицу в степень [latex]n[/latex],  добавляем к результирующей и заменяем вспомогательную матрицу. В завершении мы прибавим единичную матрицу к ответы и выведем его.

Related Images:

AA3

Задача

В заданной строке заменить каждую цифру символом «*».

Тест

Ввод Вывод
a;iejfhu789LKSKJD55ahg7 a;iejfhu***LKSKJD**ahg*
123456789 *********
Q1D2F3G4H5J6K7L8’\ Q*D*F*G*H*J*K*L*’\
Guten Abend!Ich heise Katja. Ich bin 18 Jahre alt Guten Abend!Ich heise Katja. Ich bin  **  Jahre alt
Cсылка на программу:http://ideone.com/CoqOFb

Решение:

Пробежимся по всей строке и проверим каждый символ. Если найдется цифра, то меняем ее на «*», и выводим исправленный текст.

 

Related Images:

A808г

Задача

Дан текст. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелы внутри себя, будем называть их словами.В тех словах, которые оканчиваются сочитанием букв  [latex]-ing[/latex] заменить это окончание на [latex]-ed[/latex].

Тест

Для проверки я введу первый абзац и второй, так как могут возникнуть вопросы, связанные с считыванием [latex]getline()[/latex] до первого переноса строки.

Вводимый текст Выводимый текст
Alice was beginning to get very tired of sitting

by her sister on the bank, and of having nothing

to do: once or twice she had peened into the book

her sister was reading, but it had no pictures or con-

versations in it, and what is the use of a book,’ througt

Alice ‘without pictures or conversation?’

So she was considering in her own ..

Alice was begined to get very tired of sitted

by her sister on the bank, and of haved nothed

to do: once or twice she had peened into the book

her sister was readed

, but it had no pictures or con-

versations in it, and what is the use of a book,’ througt

Alice ‘without pictures or conversation?’

So she was considered in her own …

Ссылка на программу: http://ideone.com/S5ZlwZ

Решение

Вводим строку в переменную [latex]s[/latex].В цикле пишем условие, что пока будут встречаться буквосочетания  [latex]-ing[/latex] заменить их на [latex]-ed[/latex] и выводим уже обработанный текст.

Related Images:

Ю 3.30

Задача 

 Численно убедится в справедливости равенства для заданного значения аргумента [latex]x[/latex] на заданное значение погрешности [latex]\varepsilon[/latex]. Вывести число итераций.

[latex]sinx=[/latex][latex] x-\frac{x^3}{3!}+[/latex][latex]\frac{x^5}{5!}[/latex][latex]-\dots+[/latex][latex](-1)^{n-1}[/latex][latex]\frac{x^{2n-1}}{(2n-1)!}[/latex]

Тест

[latex]x[/latex] Delta Результат(wolframalpha)
0 0 0.001 0
3.14 [latex]\pi[/latex] 0.0001 0.00161324
1.57 [latex]\pi/2[/latex] 0.00001 1
1.05 [latex]\pi/3[/latex] 0.0001 0.86602
2.06 [latex]2\pi/3[/latex] 0.0001 0.869296
Ссылка на программу: http://ideone.com/ykdWnD

Решение

Каждый последующий член ряда рекурсивно выражается через предыдущий.  Суть решения в том, что получая аргумент мы фиксируем левую часть выражения, вычисляя значение синуса от данного аргумента, а затем проверяем сколько слогаемых нам потребуется, чтобы вторая часть отличалась от первой на заданное значение дельта. А ответ показывает значения левой и итоговой правой частей.

 

Related Images:

A403a

Задача

Дана целочисленная квадратная матрица порядка [latex]15[/latex]. Выяснить, имеются ли в матрице ненулевые элементы, и если имеются, указать индекс одного из ненулевых элементов.

Тест

i, j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Результат
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 Index: 0 3
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 9 0 0 0 0 0 0 8 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
14 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 

i,j 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Результат
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0    Ненулевых элементов нет
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Код на языке С++ :

 

Ссылка на программу: http://ideone.com/72Gn1G

Решение:

Задача довольно простая.Вводим квадратную матрицу [latex]z(n,n)[/latex] порядка 15. Далее в цикле описываем условие, что если:

то выводим индекс только одного такого элемента.То есть как только найдется ненулевой элемент, программа  выведет его индекс и прекратит работу. Если же такого элемента не найдется, то в ответе мы увидим, что ненулевых элементов нет.

Код на языке Java:

 

Ссылка на программу:http://ideone.com/SiTKYZ

Related Images:

А136з

Задача Вычислить: [latex]-\frac{a_1}{1!}+\frac{a_2}{2!}-…+\frac{(-1)^na_n}{n!}[/latex]

Тест

n последовательность sum(wolframalpha)
2 0 0 0
2 5 8 -1
3 5 8 12 -3
4 1 2 3 24  1
 5  0 0 0 2 3  0, 058333
Ссылка на программу:http://ideone.com/F0UyqY

Решение:
В этой задаче главное правильно расставить знаки, так  как  это повлияет на результат.Поэтому мы заводим переменную [latex]sign[/latex], которая будет следить за знаком. Далее проверяем  чётность, если элемент делиться на 2 без остатка, то он получает знак [latex]+[/latex], в противном случае [latex]-[/latex]:

Описываем факториал:

Выполняем суммирование и делим на факториал:

Вводим в [latex]input[/latex] количество элементов ([latex]n[/latex])  и сами элементы.Получаем ответ.

Related Images:

Ю4.7

Задача. В матрице [latex] z(n,n)[/latex] каждый элемент разделить на диагональный, стоящий в том же столбце.

Тест

при [latex] n=3[/latex] (элементы главной диагонали выделены )

5 4 9
3 1 7
8 6 2

1 4 4.5
0.6 1 3.5
1.6 6 1

Проверим совсем простой вариант, для наглядности:

при [latex] n=2[/latex]

4 5
2 10

1 0.5
0.5 1

Код на языке С++ :

 

Ссылка на программу: http://ideone.com/ecqIxL

Решение:

Вводим квадратную матрицу  [latex] z(n,n)[/latex].Потом описываем элемент, который будет делиться диагональным:

Следующим шагом будет описание диагонального элемента во вложенном цикле, который определяет элемент в столбце  и непосредственно деление диагонального элемента на элемента, стоящий в том же столбце.

 

Выводим значение полученной матрицы.

Код на языке Java:

 

Ссылка на программу: http://ideone.com/dT5GVl

Related Images:

А114е

Задача. Вычислить [latex]\prod_{i=1}^{10}{(2+\frac{1}{i!})}.[/latex]

По условию [latex]i[/latex] у нас изменяется от [1; 10], но, чтобы полностью убедиться, что программа правильно работает, изменим интервал, на котором изменяется[latex]i[/latex], к примеру [1; n].

Тест

i f p (wolframalpha)
1 1 3
2 2 7.5
3 6 16.25
4 24 33.17708
5 120 66.630635
6 720 133.3538125486111
7 5040 266.7340841820129 
8 40320 533.4747839927034
9 362880 1066.951038098899
10 3628800 2133.902370220902

Код программы на языке С++ :

Ссылка на код программы: http://ideone.com/DEEFJd
Решение задачи сводится к нахождению произведения [latex]p[/latex]. Присваиваем [latex]p = 1[/latex], [latex]f = 1[/latex]. Далее фиксируем значение [latex]i[/latex]:

Анализируем, [latex]f [/latex] увеличивается в зависимости от [latex]i[/latex], следовательно:

Следующим шагом будет вычисление искомого произведения — каждый последующий член вычисляем и умножаем на предыдущий:

Получаем ответ.

Код программы на языке Java:

Ссылка на программу: http://ideone.com/JzB87V

Related Images:

Ю2.7

Задача.

Треугольник и круги.

Лежит ли заданный  на плоскости треугольник АВС в области пересечения заданных кругов:

[latex](x-a1)^2+(y-b1)^2<r1^2[/latex] , и [latex](x-a2)^2+(y-b2)^2<r2^2[/latex]  ?
Ссылка на программу на С++: http://ideone.com/NYTAWN

Код программы на Java:

Ссылка на программу на Java:http: //ideone.com/QZ7RB1

Решение:

Поскольку все фигуры выпуклые достаточно проверить вершины треугольника. Подставляем координаты всех трёх вершин в оба неравенства. Если все условия удовлетворены, то лежит. Если хоть одно условие не выполняется, то не лежит.

Тест

a1 b1 r1 a2 b2 r2 ax bx cx ay by cy Принадлежит?
1 2 3 3 4 5 6 7 8 6 7 4 нет
1 2 15 3 4 12 6 7 8 6 7 4 да
7 5 10 4 6 16 6 7 3 5 6 7 да
7 5 5 4 6 3 6 7 3 5 6 7 нет

 

Related Images:

А59в

Задача. Даны действительные числа   [latex]x[/latex] и [latex]y[/latex]. Определить, принадлежит ли точка [latex]x[/latex] ,[latex]y[/latex]заштрихованной области.

VbnLavS7Azw

х у результат комментарий
0 0 принадлежит пройдено
0.5 1 принадлежит пройдено
-2 -5 не принадлежит пройден

Код программы на языке C++:

Код программы на языке Java:

Ccылка на программу на языке Java: http://ideone.com/QBb6dQ

Решение

Решение задачи сводится к поиску условия, при котором точка будет принадлежать данной части плоскости. Далее вводим  оператор  условия «if» и ставим  ограничения на [latex]x[/latex] и [latex]y[/latex].

Анализируем наше условие, при каких значениях  [latex]x[/latex] и [latex]y[/latex] точка будет принадлежать заштрихованной плоскости, а в  каких нет.

 

 

Related Images:

А28

Задача.

Дано действительное число х. Не пользуясь никакими другими арифметическими операциями кроме сложения, вычитания и умножения, вычислить:

[latex]2x^4 + 3x^3 — 4x^2 — 5x +6[/latex]

Разрешается использовать не более четырех умножений и четырех сложений и вычитаний.

Тест

x p комментарий
0 6 пройдено
1 2 пройдено
5 1506 пройдено
-6 1836 пройдено
-20 294506 пройдено
25 825506 пройдено
50 12864756 пройдено
100 202959506 пройдено

 

 

Ссылка на программу на С++: http://ideone.com/DjvDnb

Ссылка на программу на Java: http://ideone.com/5XNsDv

 

Решение.

Вводим переменные [latex]x, p[/latex]. Поэтапно группируя по два старших члена уравнения, получаем:

Пользуясь четырьмя операциями умножения, двумя сложения и вычитания и вводя соответствующие значения [latex]x[/latex], получаем ответ.

 

Related Images: