Практикум по программированию. Основы. Циклы
Line 109: | Line 109: | ||
Сравните два алгоритма: | Сравните два алгоритма: | ||
- деление на все числа от 2 до N - 1; | - деление на все числа от 2 до N - 1; | ||
− | - деление на | + | - деление на все числа от 2 до N / 2 |
Пример интерфейса: | Пример интерфейса: |
Revision as of 13:35, 21 March 2016
Назад · Оглавление · Дальше
Циклы
1. Задан ряд чисел от 1 до N. Найти сумму квадратов этих чисел.
12 + 22 + 32 + ... + N2 Пример интерфейса: Сумма квадратов чисел от 1 до N --------------------------------- Введите N: 123 --------------------------------- S = 627874
Решение: Java · C++ · Pascal · JavaScript
2. Вычислить факториал натурального числа N.
6! = 1 * 2 * 3 * 4 * 5 * 6 = 720 Пример интерфейса: Расчет факториала ------------------- Введите число: 10 ------------------- 10! = 3628800
Решение: Java · C++ · Pascal · JavaScript
3. Дано число X и последовательность: 1, 1 + 1/2, 1 + 1/2 + 1/3, ...
Найти в этой последовательности первое число Y > X.
Первое число в последовательности Y = 1 далее, переходим к следующему Y = Y + 1 / i пока не выполнится условие Y > X Пример интерфейса: Поиск элементов ряда: 1, 1 + 1/2, 1 + 1/2 + 1/3 ... ------------------------------- Введите границу поиска: 3 ------------------------------- Y = 3,019877344877
Решение: Java · C++ · Pascal · JavaScript
4. Написать программу возведения вещественного числа в степень с натуральным показателем.
AN, где A - вещественное; N - натуральное Необходимо N - раз выполнить умножение A * A * A ... Пример интерфейса: Вычисление степени с натуральным показателем A^N -------------------------------------------------- Введите основание степени A: 2,5 Введите показатель степени N: 8 -------------------------------------------------- A^N = 1525,88
Решение: Java · C++ · Pascal · JavaScript
5. Найти число Фибоначчи с заданным номером.
В 1202 году, рассматривая задачу о размножении кроликов, Леонардо Фибоначчи получил последовательность чисел, в которой каждое число есть сумма двух предыдущих: 1, 1, 2, 3, 5, 8, ... Пример интерфейса: Поиск числа Фибоначчи с заданным номером N -------------------------------------------- Введите номер числа N: 10 -------------------------------------------- F(10) = 55,00
Решение: Java · C++ · Pascal · JavaScript
6. Определить, является ли заданное натуральное число N простым.
Простые числа делятся только на единицу и на себя. Сравните два алгоритма: - деление на все числа от 2 до N - 1; - деление на все числа от 2 до N / 2 Пример интерфейса: Поиск простых чисел --------------------- Введите число: 127 --------------------- Число 127 - простое
Решение: Java · C++ · Pascal · JavaScript
7. Найти наибольший общий делитель (НОД) и наименьшее общее кратное (НОК) двух натуральных чисел.
Поиск НОД: 1 - если числа равны, взять любое из них в качестве ответа; 2 - определить большее из чисел; 3 - заменить большее число разностью большего и меньшего; 4 – перейти к пункту 1. НОК двух натуральных чисел равно произведению этих чисел, деленному на их НОД
Решение: Java · C++ · Pascal · JavaScript
8. Табулирование функции Y = X2 + 1 на отрезке [A, B] с шагом H.
Необходимо вывести на экран таблицу значений функции на заданном отрезке.
Решение: Java · C++ · Pascal · JavaScript
9. Вычислить площадь фигуры под графиком функции Y = X2 на отрезке [A, B] методом левых прямоугольников.
Фигура разбивается на множество прямоугольников. Основания у всех прямоугольников равны: H = (B - A) / N, где N - количество разбиений (например 10000) Высота первого прямоугольника: f(A) = A2 Высоты следующих прямоугольников: f(A + H), f(A + H + H), ... Искомая площадь выражается суммой площадей всех прямоугольников.
Решение: Java · C++ · Pascal · JavaScript
10. Методом деления отрезка пополам, найти корень уравнения X2 - 2 = 0 на отрезке [A, B] с точностью E.
Сначала полагаем, что корень – это середина отрезка [A, B]. Затем выбираем тот из отрезков [A, X] или [X, B], на концах которого функция X2 - 2 имеет противоположные знаки. Выбранный отрезок снова делим пополам. Продолжаем до тех пор, пока длина отрезка не будет меньше 2 * E.
Решение: Java · C++ · Pascal · JavaScript
11. Автомат отпускает максимум N единиц товара по Z рублей за одну единицу и выдает сдачу. У каждого покупателя S рублей.
Написать программу обслуживания очереди из K покупателей.
После обслуживания каждого покупателя, автомат должен сообщать: - количество купленных единиц товара; - сдача; - сколько единиц товара осталось.
Решение: Java · C++ · Pascal · JavaScript
12. Необходимо собрать статистику о знаниях иностранных языков в группе из N человек.
Каждый человек вводит: 1 - если он изучал английский язык; 2 - немецкий; 3 - французский; 0 - если не изучал никакой.
Решение: Java · C++ · Pascal · JavaScript
13. Детали цилиндрической формы определяются параметрами: H - высота, R - радиус основания, P - плотность материала.
Пресс штампует детали, отличающиеся по высоте на 1 (H = 1 ... N, где N - высота самой длинной детали). Рассчитать массы деталей.
V = H * Pi * R2 M = P * V
Решение: Java · C++ · Pascal · JavaScript
14. Определить все счастливые билеты с номерами от N до M.
В каждом билете необходимо выделить 6 цифр номера. Билет счастливый, если сумма первых трех цифр равняется сумме последних трех цифр номера.
Решение: Java · C++ · Pascal · JavaScript
15. Имеется серия измерений параметров треугольника, в которой (в произвольном порядке) встречаются различные комбинации параметров.
Определить площадь треугольника по номеру комбинации.
Номера комбинаций параметров: 1 - основание и высота; 2 - две стороны и угол между ними; 3 - три стороны; 0 - прекратить обработку.
Решение: Java · C++ · Pascal · JavaScript
16. Найти все совершенные числа до заданной границы поиска.
Натуральное число называется совершенным, если оно равно сумме всех своих делителей, не считая его самого. Например: 6 = 1 + 2 + 3 - совершенное число Пример интерфейса: Поиск совершенных чисел ------------------------- Введите границу поиска: 10000 ------------------------- Совершенные числа: 6 28 496 8128
Решение: Java · C++ · Pascal · JavaScript
17. Человек и компьютер по очереди называют числа от 1 до 10, которые складываются одно за другим. Выигрывает тот, кто первым достигнет 100. Составить алгоритм, выигрышный для машины.
Пусть первым играет человек и называет число X. Чтобы машина выиграла ей надо: - назвать число Y = 12 - X - на следующих шагах называть числа Y = 11 - X Пример интерфейса: ---------------------- И Г Р А ---------------------- Вы и компьютер по очереди называете числа: 1 ... 10 Числа складываются. Кто первым достигнет 100, тот выиграл. Ваш ход - первый. ----------------------------------------------------- Ваш ход: 5 Компьютер: 7 Сумма: 12 Ваш ход: 8 Компьютер: 3 Сумма: 23 Ваш ход: 9 Компьютер: 2 Сумма: 34 Ваш ход: 4 Компьютер: 7 Сумма: 45 Ваш ход: 1 Компьютер: 10 Сумма: 56 Ваш ход: 6 Компьютер: 5 Сумма: 67 Ваш ход: 9 Компьютер: 2 Сумма: 78 Ваш ход: 7 Компьютер: 4 Сумма: 89 Ваш ход: 2 Компьютер: 9 Сумма: 100 ----------------------------------------------------- Выиграл компьютер!
Решение: Java · C++ · Pascal · JavaScript
18. Найти все двузначные числа, сумма квадратов цифр которых делится на 13.
Любое двузначное число A можно представить в виде A = N * 10 + M, где N - количество десятков, M - количество единиц. Если S = N2 + M2 делится на 13 без остатка, значит это искомое число. Пример интерфейса: Поиск всех двузначных чисел, сумма квадратов цифр которых делится на 13 -------------------------------------------- 15 18 23 32 46 47 51 64 69 74 79 81 96 97
Решение: Java · C++ · Pascal · JavaScript
Назад · Оглавление · Дальше