Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПЕРОВА САБАЕВА

.pdf
Скачиваний:
190
Добавлен:
11.03.2016
Размер:
1.4 Mб
Скачать

Рис. 2.1. Результат работы программы листинга 2.1

УПРАЖНЕНИЯ

Выполнить упражнения двумя способами [26]:

1.Задана точность приближения этой функции рядом s это , то есть |f(x) – s| < . Необходимо выяснить, сколько членов ряда нужно просуммировать, чтобы была достигнута эта точность. Проводя этот эксперимент, необходимо помнить, что при малых значениях точности значение текущего слагаемого должно быть больше минимального допустимого значения данного типа или число суммируемых членов достигнет предельно допустимого значения. Провести исследование, как число суммируемых членов зависит от значения точности приближения функции.

2.Задать значение числа суммируемых членов и оценить погрешность представления функции f(x) конечной суммой этого ряда.

 

1

 

 

1.

,

f (x) 1.

 

n(n 1)

n 1

 

 

 

 

 

23

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

,

(2n

1)(2n

 

 

 

n 1

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

 

,

 

 

 

 

 

 

 

 

 

 

 

2

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

4.

 

( 1)

n

 

,

 

 

 

 

 

 

 

 

 

 

 

 

2

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

6.

 

( 1)

n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

7.

 

( 1)

n 1

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

(2n 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

8.

 

( 1)

n 1

 

,

 

 

 

 

 

 

 

 

n

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

9.

 

( 1)

n 1

 

,

 

 

 

 

 

 

 

 

n

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2n

 

 

10.

 

( 1)

n

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2n)!

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2n 1

 

11.

 

( 1)

n

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2n 1)!

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2n 1

 

 

 

 

 

 

12.

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(2n 1)!

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2n

 

 

 

 

 

 

 

 

 

13.

 

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

(2n)!

 

 

 

 

 

 

f (x) 1 2.

f (x) 2.

 

 

f (x) 2 3.

 

f (x) e.

 

 

f (x) 1 e.

 

f (x) 4.

f (x)

2

12.

 

f (x) 7

2

720.

 

f (x) cos(x).

f (x) sin(x).

f (x) sh(x).

f (x) ch(x).

 

 

 

 

 

 

 

x

2n 1

 

 

 

14.

 

( 1)

n

 

 

 

 

,

f (x) arctg (x);

x 1.

 

 

 

 

 

 

 

 

(2n 1)

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x

1)

n

 

 

 

 

 

 

 

15.

 

 

,

 

 

 

f (x) ln(x).

 

 

nx

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

 

 

 

 

 

 

 

 

 

 

 

16.

 

,

 

 

 

 

 

 

 

 

 

f (x) ln(1 x);

x 1.

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

n

 

 

 

 

17.

 

( 1)

n 1

 

,

 

f (x) ln(x 1);

x 1.

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x 1)2n 1

 

 

 

18.

 

 

 

 

 

 

 

 

 

 

 

, f (x) lg (x) 2.

 

(2n 1)(x 1)2n 1

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24

 

 

 

x

n

 

 

 

 

 

 

 

 

 

 

 

 

 

,

 

 

 

 

 

 

 

 

19.

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(x ln a)

n

 

 

 

 

20.

 

 

 

,

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

21.

 

( 1)

n

x

n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22.

 

( 1)

n

(n 1)x

n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23.

 

x

n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

2n 1

 

 

 

 

 

 

 

24.

 

 

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2n 1

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25.

 

(n 1)x

n

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

 

 

 

 

 

f (x) e

x

.

 

 

 

 

 

 

 

 

 

 

 

 

 

f (x) a

x

.

 

 

 

 

 

 

 

 

 

 

 

f (x) 1 (1 x) ,

 

f (x) 1 (1 x)

2

,

 

 

 

f (x) 1 (1 x) ,

 

 

f (x)

1

ln

(1 x)

;

2

(1 x)

 

 

 

 

 

f (x) 1 (1 x)

2

,

 

 

 

 

 

25

x 1. x 1. x 1. x 1. x 1.

ГЛАВА 3. ПОЗИЦИОННАЯ ЗАПИСЬ ЧИСЛА

Натуральное число можно записать так:

 

 

0

n

n 1 2 1

, где i – цифра в i

ой позиции. При работе с натуральными числами основными являются два алгоритма [26]:

выделение последней цифры;

удаление этой цифры из числа.

Используя операции получения остатка и частного от деления на 10, можно последовательно получить все цифры числа. Кроме того, при разработке алгоритмов используется представление числа через его цифры в виде суммы:

 

 

0

n

n 1 2 1

= n·10n + n-1·10n-1+…+ 2·102 + 1·101+ 0·100.

(3.1)

Листинг 3.1. Дано натуральное n. Заменить в этом числе порядок цифр на обратный. Новое число обозначить через nn. Выделяя последовательно цифрыi числа n, как остаток от деления на 10, перенести их в новое число nn= nn·10+ i.

//L3_1.cpp

#include <iostream> using namespace std; int main()

{

setlocale(LC_CTYPE,"russian"); int n, nn;

do

{

cout << "Введите натуральное число "; cin >> n;

}while (n <= 0); nn = 0;

while (n > 0)

{

nn = nn*10+n%10; n/ = 10;

}

cout << "Полученное число "<<nn<<'\n'; return 0;

}

Результат работы программы листинга 3.1 приведен на рис. 3.1:

26

Рис. 3.1. Результат работы программы листинга 3.1

Листинг 3.2. Дано натуральное число n. Удалить из записи этого числа цифры 5 и 0, оставив остальные в том же порядке, что и в исходном числе. Для этого воспользоваться записью числа в виде разложения с использованием цифр и степеней числа 10, представленного формулой (3.1).

//L3_2.cpp

#include <iostream> using namespace std; int main()

{

setlocale(LC_CTYPE,"russian"); int n,nn,k = 1,c;

do

{

cout << "Введите натуральное число "; cin >> n;

}while (n <= 0); nn = 0;

while (n > 0)

{

c = n%10;

if(c!= 5 && c!= 0)

{

nn = nn+c*k; k* = 10;

}

n/ = 10;

}

cout << "Полученное число "<<nn<<'\n'; return 0;

}

На рис. 3.2 представлен результат выполнения программы листинга 3.2.

27

Рис. 3.2. Результат работы программы листинга 3.2

Листинг 3.3. Найти трехзначное натуральное число, сумма цифр которого равна заданному числу. Прежде всего, следует отметить, что сумма цифр не может превышать 27, так как 9+9+9=27. Кроме того, если предположить, что k, j и i –цифры, то заданное число равно k + j + i.

//L3_3.cpp

#include <iostream> using namespace std; int main()

{

setlocale(LC_CTYPE,"russian"); int n,i,j,k;

do

{

cout << "Введите натуральное число <= 27 "; cin >> n;

}while (n <=0 && n > 27); for(i=0; i<=9; i++)

for(j=0; j<9; j++)

{

k = n-i-j;

if(k >= 1&& k <= 9)

cout << k+j*10+i*100 << '\n';

}

return 0;

}

Результат работы программы листинга 3.3 приведен на рис. 3.3:

Рис. 3.3. Результат работы программы листинга 3.3

28

Листинг 3.4. Определить цифру в последовательности чисел. Например, определить n –ю цифру в последовательности Фибоначчи [4]: 1123581321… . Алгоритм заключается в определении диапазона числа, в котором находится эта позиция. Для этого определяется число позиций текущего числа и наращивается до тех пор, пока это значение меньше исходной позиции. Затем определяется число младших цифр, которые следует убрать из текущего числа, и определяется искомая цифра.

//L3_4.cpp

#include <iostream> using namespace std; int main()

{

setlocale(LC_CTYPE,"russian"); int tmp, n, l, dl, m, i1, i2, i3;

do

{

cout << "Введите число n "; cin >> n;

}while (n <= 0); i1 = 0;

i2 = 1; l = 0;

while (n > l)

{

dl = 0;

 

m = i2;

 

while (m > 0)

//Определяет число

{

 

//позиций в i2

 

dl++;

//текущем числе

 

m / = 10;

//Фибоначчи.

}

 

 

l+ = dl;

 

i3

= i1 + i2;

 

i1

= i2;

 

i2

= i3;

 

}

tmp = l-k; while (tmp > 0)

{

i2 / = 10; tmp--;

}

29

tmp = i1%10;

cout << n<< "-ая цифра = " << tmp << endl; return 0;

}

На рис. 3.4 представлен результат выполнения программы листинга 3.4.

Рис. 3.4. Результат работы программы листинга 3.4

УПРАЖНЕНИЯ

1.Среди всех четырехзначных цифр определить число тех, у которых все цифры различны.

2.Найти количество чётных цифр натурального числа N.

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

4.Найти все натуральные числа, не превосходящие заданного числа N, десятичная запись которых есть строго возрастающая или строго убывающая последовательность цифр.

5.Найти все пары двухзначных натуральных чисел M и N, таких, что значение произведения M N не изменится, если в числах изменить порядок цифр. Например, M =38 и N =83.

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

7. Найти все четырехзначные числа

KLMN

, для которых справедливо

KL MN K L M N .

8.Сложить все цифры какого-либо натурального числа, затем все цифры полученной суммы и так далее до тех пор, пока не получится цифра, которая называется корнем данного числа (например, число 34697, тогда 3+4+6+9+7=29, 2+9=11, 1+1=2). Найти корень заданного натурального числа.

9.Среди трехзначных натуральных чисел найти такие числа, у которых сумма цифр, сложенная с квадратом этой суммы, равна исходному числу.

10.Определить пятизначное число N такое, что шестизначные числа 1N и

N1 связаны соотношением N1 =3 1N .

30

11.Определить трехзначное число, удовлетворяющее условию: удалив старшую цифру и умножив полученное число на 7, получаем исходное число.

12.Натуральное число N называется числом Армстронга, если сумма цифр, каждая из которых возведена в степень, равную числу цифр в N, равна исходному числу. Найти все числа Армстронга, заключенные между числами N1 и N2.

13.Найти все автоморфные числа в промежутке от N1 до N2. Автоморфным называется число, квадрат которого заканчивается этим же числом. Например, число 25 и его квадрат 625.

14.Найти натуральные числа-палиндромы в диапазоне от N1 до N2. Например, число 1246421 является палиндромом.

15.Определить k-ю цифру последовательности 123456789101112131415… ,

в которой подряд записаны все натуральные числа.

16.Определить k-ю цифру последовательности 1101001000010000… , в которой подряд записаны степени числа 10.

17.Определить k-ю цифру последовательности 1392781243729… , в которой подряд записаны степени числа 3.

18.Определить k-ю цифру последовательности 1491625364964… , в которой подряд записаны все квадраты натуральных чисел.

19.Определить k-ю цифру последовательности 182764125216343… , в которой подряд записаны все кубы натуральных чисел.

20.Проверить, является ли заданное число палиндромом. Если это не палиндром, то заменить порядок цифр на обратный и сложить с исходным числом. Если полученное число не является палиндромом, то операцию повторять до тех пор, пока не получится число-палиндром. Для натуральных числе в диапазоне от N1 до N2 определить максимальное число действий преобразования числа в палиндром.

21.Найти все трехзначные числа, которые при увеличении на 1 делятся на 2, при увеличении на 2 делятся на 3, при увеличении на 3 делятся на 4, а при увеличении на 4 делятся на 5.

22.Найти все трехзначные числа, квадраты которых оканчиваются исходным числом.

23.Найти все трехзначные числа, сумма цифр которого и само число кратны 7.

24.Из натурального числа удалить все цифры от 0 до 3, оставив прежним порядок остальных цифр.

25.Среди всех трехзначных чисел найти такие, что исходное число равно среднему арифметическому всех чисел (включаяя и исходное число). Число состоит из тех же цифр,т.е.

6 2 1 0 2 1 0 2 0 1 0 1 2 0 2 1 1 0 2 2 1 0 .

31

ГЛАВА 4. ДЕЛИТЕЛИ ЦЕЛОГО ЧИСЛА

Для нахождения всех делителей некоторого натурального числа N, исключая 1 и само число, следует перебрать все натуральные значения от 2 до [N/2], так как в интервале от [N/2]+1 до N множителей нет [26]. Здесь [x] – целая часть числа x.

Листинг 4.1. Определить все делителели некоторого натурального числа N, за исключением 1 и самого числа.

//L4_1.cpp

 

#include <iostream>

 

using namespace std;

 

int main()

 

{

 

setlocale(LC_CTYPE,"russian");

 

int n,d;

 

do

//Цикл гарантирует

{

//введение натурального

cout<<"Введите n ";

//числа.

cin>>n;

 

}while (n<=0);

 

for(d=2;d<=n/2;d++)

//Нахождение делителей

{

 

if(n%d==0)

 

cout<<d<<" ";

 

}

 

cout<<endl;

 

return 0;

 

}

 

Результат работы программы листинга 4.1 приведен на рис. 4.1:

Рис. 4.1. Результат работы программы листинга 4.1

Следует отметить, что можно искать делители среди натуральных чисел, не превышающих квадратный корень из исходного числа, а остальные делители получаются в результате деления этого числа на найденные делители, то есть цикл «Нахождение делителей» будет иметь следующий заголовок:

32