Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЗАДАНИЕ 1 Найти наибольший общий делитель НОД двух натуральных чисел А и В

Работа добавлена на сайт samzan.net:


ЗАДАНИЕ 1

Найти наибольший общий делитель (НОД) двух натуральных чисел А и В.

Входные данные: А и В.

Выходные данные: А - НОД.

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

Таблица 1. Поиск НОД для чисел А=25 и В=15.

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

Первый шаг

Второй шаг

Третий шаг

НОД(А,В)=5

А=25

А=10

А=10

А=5

 

В=15

В=15

В=5

В=5

 

В блок-схеме решения задачи, представленной на рис. 1, для решения поставленной задачи используется цикл с предусловием, то есть тело цикла повторяется до тех пор, пока А не равно В.

Рис. 1. Поиск наибольшего общего делителя двух чисел

begin

while (a <> 0) and (b <> 0) do

if a >= b then

a := a mod b

else

b := b mod a;

NOD := a + b;

end;


ЗАДАНИЕ 2

Вычислить факториал числа N (N!=1*2*3*…*N).

Входные данные: N- целое число, факториал которого необходимо вычислить.

Выходные данные: factorial- значение факториала числа N, произведение чисел от 1 до N, целое число.

Промежуточные данные: i- целочисленная переменная, принимающая значения от 2 до N с шагом 1, параметр цикла.

Блок-схема приведена на рис. 2.

Рис. 2 Вычисление факториала

Итак, вводится число N. Переменной factorial, предназначенной для хранения значения произведения последовательности чисел, присваивается начальное значение, равное единице. Затем организуется цикл, параметром которого выступает переменная i. Если значение параметра цикла меньше или равно N, то выполняется оператор тела цикла, в котором из участка памяти с именем factorial считывается предыдущее значение произведения, умножается на текущее значение параметра цикла, а результат снова помещается в участок памяти с именем factorial. Когда параметр i становится больше N, цикл заканчивается, и на печать выводится значение переменой factorial, которая была вычислена в теле цикла.

ЗАДАНИЕ 3

Дано натуральное число N. Определить самую большую цифру и ее позицию в числе (N=573863, наибольшей является цифра 8, ее позиция - четвертая слева).

Входные данные: N - целое число.

Выходные данные: max - значение наибольшей цифры в числе, pos - позиция этой цифры в числе.

Промежуточные данные: i - параметр цикла, kol - количество цифр в числе, M - переменная для временного хранения значения N.

Разобьем решение этой задачи на два этапа. Вначале найдем количество цифр в заданном числе (рис. 3.1), а затем определим наибольшую цифру и ее позицию (рис. 3.2).

Рис. 3.1. Определение количества цифр в числе

Для того чтобы подсчитать количество цифр в числе, необходимо определить, сколько раз заданное число можно разделить на десять нацело. Например, пусть N=12345, тогда количество цифр kol = 5. Результаты вычислений сведены в таблицу 2.

Таблица 2. Определение количества цифр числа

kol

N

1

12345

2

12345 div10=1234

3

1234 div 10=123

4

123 div 10=12

5

12 div 10=1

 

1 div 10=0

Процесс определения текущей цифры числа N=12345 представлен в таблице 3.

Таблица 3. Определение текущей цифры числа

i

Число М

Цифра

1

12345

12345 mod 10 = 5

2

12345 div10=1234

1234 mod 10 = 4

3

1234 div 10=123

123 mod 10 = 3

4

123 div 10=12

12 mod 10 = 2

5

12 div 10=1

1 mod 10 = 1


Рис. 3.2. Определение максимальной цифры в числе и ее позиции

Если цифры числа известны, определить наибольшую из них не составит труда. Алгоритм поиска максимального значения в некоторой последовательности цифр заключается в следующем. В ячейку, в которой будет храниться максимальный элемент (max), записывают значение, меньшее любого из элементов последовательности (в нашем случае max = -1, так как цифры числа находятся в диапазоне от 0 до 9). Затем сравнивают элементы последовательности со значением ячейки max, если найдется элемент, превышающий значение предполагаемого максимума, то ячейке max необходимо присвоить значение этого элемента и, соответственно, запомнить его номер в последовательности (в нашем случае переменной pos присваивается значение параметра цикла i).

В алгоритме поиска минимума вначале в переменную min записываем значение, заранее большее любого элемента последовательности. Затем все элементы последовательности сравниваем с min, если встретится значение меньшее, чем min, переписываем его в переменную min.



Дано натуральное число n. Определить на сколько  его максимальная цифра больше минимальной.

Натуральное число из n цифр является ся числом Армстронга, т.е. сумма его цифр, возведенная в степень n, равна самому числу (153=1*1*1+5*5*5+3*3*3). Получить все числа Армстронга для n=4 и n=3

var

 i,j,k,l: integer;

n,m: longint;

begin

begin

 for i:=1 to 9 do

  for j:=0 to 9 do

   for k:=0 to 9 do

    for l:=0 to 9 do

begin

 n:=1000*i+100*j+10*k+l;

 if i*i*i*i+j*j*j*j+k*k*k*k+l*l*l*l=n

 then writeln(n);

end;

end;

begin

 for i:=1 to 9 do

  for j:=0 to 9 do

   for k:=0 to 9 do

begin

 m:=100*i+10*j+k;

 if i*i*i+j*j*j+k*k*k=m

 then writeln(m);

end;

end;

readln;

end.

Самостоятельно:

  1.  Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры.
  2.  Получить  n четырёхзначных чисел, в записи которых нет двух одинаковых цифр.

  1.  Вывести на печать 3-х значные числа, которые делятся на свои цифры и перевертыш этого числа тоже делится на свои цифры.

var a,b,c,m,m1:longint;

begin

clrscr;

for a:=1 to 9 do

for b:=1 to 9 do

for c:=1 to 9 do

begin

m:=a*100+b*10+c;

m1:=c*100+b*10+a;

if (m mod a=0)and(m1 mod a=0)and

(m mod b=0)and(m1 mod b=0)and

(m mod c=0)and(m1 mod c=0)and(a<>c)then writeln(' ',m);

end;

readln;

end.

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

var i,j,k,l,a : longint;

m,n : integer;

begin

clrscr;

write('введите количество чисел ');readln(n);

m:=0;

for i:=1 to 9 do

for j:=0 to 9 do

for k:=0 to 9 do

for l:=0 to 9 do

if (i<>j)and(i<>k)and(i<>l)and(j<>k)and(j<>l)and(k<>l)and(m<=n)then

begin

a:=1000*i+100*j+k*10+l;

write(' ',a);m:=m+1;

end;

readln;

end.




1. тематика 309 2 Физика 305 2 ОБЖ
2. Кафе и закусочные; характеристика
3. Методика воспитания толерантности у учащихся 14-х классов
4. Школа для дураков Гюго отверженные Антона Павловича Чехова Палата 6 Камюкалигулападени
5. політична та військова діяльність великих київських князів ОлегаІгоря
6. продажи. На рынке перемещается как в экономическом так и в географическом пространстве огромная масса разно
7. экономических характеристик выпускаемых изделий увеличения удельного веса высококачественной продукции в
8. . Общие положения В данном проекте запроектированы висячие сваи С630
9. ROM DVD оптических диски подобны CD
10. картина мира образ реальности выходящей за пределы частного опыта складывается для современного человека
11. тематические занятия физкультурой приводят к адаптации человеческого организма к выполняемой физической ра
12. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук ІваноФранківс
13. тема сучасної України
14. нормаль к плоскости 2уравнение плоскости проходящей через точку 3 уравнение плоскости в отрезках
15. Методические рекомендации о порядке подготовки и передачи в архив законченных делопроизводством документ
16. Экзюпери Планета людей Перевела с английского Нора Галь 1963
17. план для обозначения физического астрального и небесного миров; мы переводим его словом
18. на тему- Реализация стратегии на предприятии Выполнила-
19. Реферат- Воздействие и нормирование вредных веществ
20. Система захисту інформації в Російській Федерації1