Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2575.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
1.86 Mб
Скачать

Readln(a); s:=0;

While a<>0 do begin

b:=b mod 10; s:=s+b;

a:=trunc(a/10); { a := a div 10 } end;

Writeln(s);

End.

Список задач раздела 12

1.1.Дано натуральное число n. Получить все пифагоровы тройки натуральных чисел, каждое из которых не

превосходит n, т.е. все такие тройки натуральных чисел a, b, c, что a2 + b2 = c2.

1.2.Дано натуральное число n. Найти все меньшие n числа Мерсенна. Число Мерсенна – это простое число,

представленное в виде Mp=2p–1,

где p – тоже

простое

число.

 

 

 

 

 

 

1.3. Даны две целые переменные a, b.

Составить

фрагмент

программы, после исполнения которого значения

переменных поменялись бы местами (новое значение a

равно старому значению b и наоборот) не

используя

дополнительных переменных.

 

 

 

 

1.4. Вводится

 

положительное

целое

 

число

A < 10000.Определить сумму его цифр S и разность A-S.

1.5. Дано

целое

число

а и

натуральное

(целое

неотрицательное)

число n.

Вычислить а в

степени n.

Другими словами, необходимо составить программу, при исполнении которой значения переменных а и n не меняются, а значение некоторой другой переменной (например, b) становится равным а в степени n. (При этом разрешается использовать и другие переменные.)

75

1.6.Вводится положительное целое число B < 10000. Определить является ли оно палиндромом?

1.7.Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, <>.

1.8.Даны натуральные числа а и b. Вычислить их сумму а+b.

Использовать операторы

присваивания

лишь

вида

<переменная1>

:=

<переменная2>,

<переменная>

:=

 

<число>,

<переменная1> := <переменная2> + 1.

 

 

 

1.9.Дано натуральное (целое

неотрицательное)

число

а и

целое положительное число d. Вычислить частное q и остаток r при делении а на d, не используя операций div и mod.

1.10. Дано

натуральное

n,

вычислить n!

(0!=1, n! = n * (n-1)!).

 

 

1.11.Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k >= 2. Дано n,

вычислить a(n).

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

1.13.Составить рекурсивную программу-функцию

вычисления

 

значений

многочлена

f x a xn

a xn 1

... a

x a

по схеме Горнера

0

1

n 1

n

 

fx ... a0 x a1 x a2 x ... an 1 x an .

1.14.Определить k - количество трёхзначных натуральных чисел, сумма цифр которых равна n (1,n,27).

1.15.Число, равное сумме всех своих делителей, включая единицу, называется совершенным. Найти и напечатать все совершенные числа в интервале от 2 до х.

1.16.Даны два натуральных числа a и b, не равные нулю одновременно. Вычислить НОД (a,b) - наибольший общий делитель а и b.

76

1.17.Написать модифицированный вариант алгоритма Евклида, использующий соотношения НОД (a, b) = НОД (a mod b, b) при a >= b, НОД (a, b) = НОД (a, b mod a) при b

>= a.

1.18.Даны натуральные а и b, не равные 0 одновременно. Найти d = НОД (a,b) и такие целые x и y, что d = a*x + b*y.

1.19.Написать вариант алгоритма Евклида, использующий соотношения

НОД(2*a,

2*b)

=

2*НОД(a,b)

НОД(2*a,

b)

=

НОД(a,b)

при нечетном b, не включающий деления с остатком, а использующий лишь деление на 2 и проверку четности.

1.20.Написать рекурсивную программу-функцию нахождения наименьшего десятичного натурального числа N>1, оканчивающегося цифрой q такого, что если перенести эту цифру из конца в начало N, то полученное число окажется в q раз больше N.

1.21.Составить программу, печатающую разложение на простые множители заданного натурального числа n > 0 (другими словами, требуется печатать только простые числа и произведение напечатанных чисел должно быть равно n; если n = 1, печатать ничего не надо).

1.22.Задано число. Получить наибольшее (наименьшее) число, записанное теми же цифрами..

1.23.Используя команду write (i) лишь при I = 0,1,2,...,9 составить программу, печатающую десятичную запись заданного натурального числа n > 0.

1.24.Написать программу сложения двух простых дробей.

1.25.Даны натуральные числа n и k, n > 1. Напечатать k десятичных знаков числа 1/n. (При наличии двух десятичных разложений выбирается то из них, которое не содержит девятки в периоде.) Программа должна использовать только целые переменные.

77

1.26.Дано натуральное число n > 1. Определить длину периода десятичной записи дроби 1/n.

1.27.(Э. Дейкстра). Функция f с натуральными аргументами и значениями определена так: f(0) = 0, f(1) = 1, f (2n) = f(n), f (2n+1) = f (n) + f (n+1). Составить программу вычисления f (n) по заданному n, требующую порядка log n операций.

1.28.Даны натуральные числа а и b, причем b > 0. Найти частное и остаток при делении а на b, оперируя лишь с целыми числами и не используя операции div и mod, за исключением деления на 2 четных чисел.

1.29.Найти и распечатать все пары дружественных чисел, меньших 10000. (Дружественные -- два числа, каждое из которых равно сумме правильных делителей другого. Например, 220 и 284.).

1.30.Натуральное десятичное k-значное число называется числом Армстронга, если оно равно сумме k-ых степеней

своих цифр.

Например, 534494836 = 5 9 + 3 9 + 4 9 + 4 9 + 9 9 + 4 9 + 8 9 + 3 9 + 6 9. Составить программу, которая по заданному M ≤ 9 находит все числа Армстронга для всех k ≤ M.

1.31. Все натуральные числа от 1 до N написаны на 2 × N карточках так, что каждое число встречается на двух карточках. Из карточек выкладываются последовательности длины 2 × N, обладающие следующим свойством: для каждого числа L между карточками с

числом

L

лежит

ровно

L

карточек.

Пример:

| 3

| 1

|

2

| 1

| 3

| 2 |.

Для всех

3 ≤ N ≤ 12

найти

и

напечатать

количество

последовательностей Лэнгфорда, начинающихся карточкой с числом N.

78

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]