Задачи для самостоятельного решения. 1.0.2.1. Даны натуральные числа А и В (A <= B)

1.0.2.1. Даны натуральные числа А и В (A <= B). Написать программу, которая напечатает все простые числа из диапазона от А до В.

Исходные данные:

10 23

Результат:

11 13 17 19 23

1.0.2.2. Даны натуральные числа А и В (A <= B). Написать программу, которая напечатает все совершенные числа из диапазона от А до В.

Исходные данные:

2 30

Результат:

6 28

1.0.2.3. Пифагоровы числа. Даны натуральные числа А и В (A <= B). Написать программу для печати всех чисел из диапазона от А до В, которые представимы в виде суммы двух квадратов натуральных чисел несколькими способами. Например, число 50 = 5*5 + 5*5 = 1*1 + 7*7 (2 способа).

Исходные данные:

49 51

Результат:

1.0.2.4. Быстрое возведение числа в натуральную степень. Написать программу, которая возведёт число А в натуральную степень В за log2В операций умножения, используя двоичное представление числа В.

Исходные данные:

2 21

Результат:

1.0.2.5. Рассматриваются все числа от 1 до n. Написать программу, которая вычислит и напечатает общее количество всех цифр во всех этих числах вместе взятых.

Исходные данные:

Результат:

1.0.2.6. Написать программу приближенного вычисления и печати числа p по формуле Задачи для самостоятельного решения. 1.0.2.1. Даны натуральные числа А и В (A <= B) - student2.ru ... Вычисления проводить до тех пор, пока не будет достигнута точность eps, т.е. два последних вычисленных значения не станут отличаться меньше, чем на малое положительное eps. Результат напечатать с 3 знаками после запятой.

Исходные данные:

0.0001

Результат:

3.142

1.0.2.7. SIN. Написать программу приближенного вычисления и печати суммы ряда x + x3/3! + x5/5! + … для заданного аргумента X с заданной точностью eps, т.е. очередное слагаемое не станет меньше малого положительного eps. Результат напечатать с 3 знаками после запятой.

Исходные данные:

3.141 0.001

Результат:

0.000

1.0.2.8. COS. Написать программу приближенного вычисления и печати суммы ряда 1 + x2/2! + x4/4! + … для заданного аргумента X с заданной точностью eps, т.е. очередное слагаемое не станет меньше малого положительного eps. Результат напечатать с 3 знаками после запятой.

Исходные данные:

3.141 0.001

Результат:

-1.000

1.0.2.9. С натуральным числом n выполняются следующие преобразования (операции): если оно четно, то делится пополам, а если нечетно, то умножается на 3 и прибавляется 1. С полученным числом опять выполняется преобразование до тех пор, пока не получится число 1. Для заданного интервала чисел от A до B вычислить и напечатать количество выполняемых операций (преобразований) для каждого числа из этого интервала.

Исходные данные:

2 30

Результат:

6 28

1.0.2.10. Зарплата. В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого. В единственной строке записаны размеры зарплат всех сотрудников через пробел. Каждая заработная плата – это натуральное число, не превышающее 105. Вывести одно целое число — разницу между максимальной и минимальной зарплатой.

Исходные данные:

100 500 1000

Результат:

1.0.2.11. Написать программу для решения уравнения Задачи для самостоятельного решения. 1.0.2.1. Даны натуральные числа А и В (A <= B) - student2.ru . Вещественные значения a, b, c вводятся.

Исходные данные:

Результат:

1.0.2.12. Написать программу для решения уравнения Задачи для самостоятельного решения. 1.0.2.1. Даны натуральные числа А и В (A <= B) - student2.ru . Вещественные значения a, b, c вводятся.

Исходные данные:

Результат:

1.0.2.13. Написать программу для вычисления корня квадратного из положительного вещественного числа х по итерационной формуле Ньютона Uk = Uk-1/2 + X/2/Uk-1.

Исходные данные:

Результат:

1.0.2.14. Написать программу для вычисления корня кубического из положительного вещественного числа х по итерационной формуле Ньютона Uk = 2/3Uk-1 + X/3/Uk-2/Uk-2.

Исходные данные:

Результат:

Продвинутые задачи

1.0.3.1. Обобщённый алгоритм Эвклида.

Для заданных натуральных чисел A и B найти пару целых чисел P и Q таких, что

A*P + B*Q = 1

Исходные данные:

2 3

Результат:

2 -1

1.0.3.2. Даны коэффициенты линейного уравнения Ax + By + C = 0 (A, B, C) и пределы изменения переменных X1 <= x <= X2 и Y1 <= y <= Y2. Сколько целочисленных решений (пар x и y) существует в указанных пределах.

Исходные данные:

3 5

Результат:

3 7

4 2

5 5

1.0.3.3. Вырубка деревьев. Король решил вырубить некоторые деревья, растущие перед его дворцом. Деревья перед дворцом короля посажены в ряд, всего там растет n деревьев, расстояния между соседними деревьями одинаковы. После вырубки перед дворцом должно остаться m деревьев, и расстояния между соседними деревьями должны быть одинаковыми. Написать программу, которая по заданным числам n и m определит, сколько существует способов вырубки некоторых из n деревьев так, чтобы после вырубки осталось m деревьев и соседние деревья находились на равном расстоянии друг от друга.

Входные данные содержат два целых числа n и m (0 ≤ m , n ≤ 1000). В единственную строку вывести одно целое число — искомое число способов.

Исходные данные:

5 3

Результат:

Примечание:

Если обозначить условно исходное расположение деревьев перед дворцом как «TTTTT», то возможные результаты после вырубки следующие:
«TTT..», «.TTT.», «..TTT», «T.T.T».

1.0.3.4. Сумма произведений. Требуется вычислить сумму произведений цифр каждого N-значного числа. При этом следует учесть, что если в числе встречается цифра 0, то произведение его цифр равно нулю. Для N=3 искомая сумма представлена следующим рядом: S = 1*0*0 + 1*0*1 + 1*0*2 + … + 9*9*8 + 9*9*9 = 91125 В единственной строке записано натуральное число N (N < 1000).

Исходные данные:

Результат:

1.0.3.5. Произведение цифр. Требуется найти наименьшее натуральное число Q такое, что произведение его цифр равно заданному числу N (0 ≤ N ≤ 109). Вывести искомое число Q. В том случае, если такого числа не существует, следует вывести -1.

Исходные данные:

Результат:

Тема 1.1. Геометрия.

Цель.

Научиться применять знания по геометрии при решении задач с использованием компьютеров (программ). Уметь выполнять приближённые вычисления с точностью.

Основные понятия.

Вычисления с вещественными числами с заданной точностью. Использование математических функций: sin, cos, fabs, exp, log

Вывод вещественных чисел в нужном формате. Использование манипуляторов и форматов: setw, setiosflags, setprecision

Ключевые слова.

Точка, уравнение прямой линии, геометрическая фигура.

ПРИМЕР.

На плоскости три точки заданы своими целыми (для простоты) координатами. Они образуют невырожденный треугольник. Вычислить площадь этого треугольника.

Алгоритм.

Можно воспользоваться одной из формул, знакомых со школы. Для этого придётся вычислить какие-то элементы треугольника – стороны, углы, периметр. Мы воспользуемся формулой, дающей значение площади со знаком в зависимости от направления обхода вершин треугольника – через определитель 3-го порядка.

| 1 x1 y1 |

S = | 1 x2 y2 | * 0.5

| 1 x3 y3 |

Решение.

// C++

# include <iostream>

# include <iomanip>

# include <сstdlib>

using namespace std;

int main ()

{

setlocale (LC_ALL, "RUS");

cout << "Вычисление площади треугольника со знаком." << endl;

cout << "Введите координаты вершин." << endl;

int x1, y1, x2, y2, x3, y3;

cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

double s = 0.5*(x1*y2 + x2*y3 + x3*y1 – x1*y3 – x2*y1 - x3*y2);

cout << setiosflags (ios::fixed) << setw (10)

<< setprecision (2) << s << endl;

system ("PAUSE"); // другой вариант задержки результатов на экране

return 0;

}

// C#

using System;

class Program

{

static void Main (string [] args)

{

Console.Write ("Вычисление площади треугольника со знаком. ");

Console.Write ("Введите координаты вершин ");

int x1, y1, x2, y2, x3, y3;

string ss = Console.ReadLine ();

string [] s = ss.Split (' ');

x1 = int.Parse (s [0]);

y1 = int.Parse (s [1]);

x2 = int.Parse (s [2]);

y2 = int.Parse (s [3]);

x3 = int.Parse (s [4]);

y3 = int.Parse (s [5]);

double sq = 0.5*(x1*y2 + x2*y3 + x3*y1 - x1*y3 - x2*y1 - x3*y2);

Console.WriteLine (sq);

Console.ReadKey ();

}

}

Наши рекомендации