Будь умным!


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

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

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

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

ЗАДАНИЕ 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. модульную структуру и есть возможность вводить ту информацию которая уже собрана на момент работы а позднее
2. Динамика Благовещенск Издательство ДальГАУ 2013 УДК 531
3.  Экономическая сисма- понятие элементы классификация 4 2
4. Тема - Педагогіка як наука А.html
5. ед амортизационные отчисления 700 ден
6. Тема- Сутність фінансів їх функції та роль План 1.html
7. Лекарственные растения1
8. Сочи Есть возможность получить билеты на соревнования на которые нет доступных билетов строго по номиналу
9. а ситуации в которой человек принимает конкретное поведенческое решение
10. Лицензионный договор
11. Розробка корисних копалин
12. Особенности организации финансов
13. Дрогонит клининг с сентября 2007 по настоящее времяДолжность- юрист Организация юридического отде
14. Методика преподавания английского языка в средней школе
15. ЛЕКЦИЯ 4 БИОТЕХНОЛОГИЯ ВИНОДЕЛИЯ Необходимое условие любого спиртового бродильного процесса наличие
16. Эксплуатация и техобслуживание автомобилей и тракторов
17. Исследование затухающих колебаний в колебательном контуре
18. Казаки (конец XV - первая половина XVII вв)
19. Управление рисками
20. за единственной неудачи исчерпать все свое упорство Нет.html