Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Решение
Способ
Алгоритм решения. В качестве первого делителя взять 2, присвоить это значение некоторой переменной i;
начать цикл " пока i <= n";
если данное число n делится на i, тогда выдать на экран значение i и разделив данное число на i, присвоить новое значение той же переменной n (n:= n div i);
далее цикл продолжить, но значение i не увеличивать на 1, а проверить деление нового значения n на прежнее значение i;
если n не делится на i, тогда i увеличить на 1 (i:= i + 1) и продолжить цикл, т.е. выполнить проверку условия цикла (i <= n), а затем снова проверить деление n на уже новое значение i.
Program Problem3; { Разлож. числа на прост. множит.. 1- й спос. }
uses Crt;
var
n, i: integer;
begin
write('Введите натуральное число '); readln(n);
write('Простые делители числа ', n, ' следующие; ');
i:= 2;
while i <= n do
if n mod i =0 then
begin
write(i, ' ');
n:= n div i
end
else i:= i + 1
end.
Способ.
Алгоритм решения.
Вначале находим все делители, равные 2. Для этого последовательно делим число 360 на 2:

После этого, полученный результат делим на нечетные числа. Причем на каждое нечетное число делим не один раз, а до тех пор, пока такое деление будет возможным.
Делим на 3: 45:3 = 15, 15:3 = 5.
Делим на 5: 5:5 = 1.
Делим на 7, не делится, пробуем делить на следующее нечетное число.
Делим на 9, не делится, переходим к следующему нечетному числу.
Делим на 11, не делится, и так далее.
До тех пор будем пробовать деление на нечетные числа, пока они будут меньше или равны получаемому частному от деления числа на соответствующий делитель.
На основании этих соображений составляем программу.
Program Problem3a;
uses Crt;
var
i, n: integer;
begin
write(' Введите целое число '); readln(n); writeln;
writeln('Простые делители целого числа ', n);
{----------------------------------------------------------------------------------------}
while n mod 2 = 0 do { Цикл для вывода делителей, равных 2 }
begin
write(2, ' ');
n:= n div 2
end;
{----------------------------------------------------------------------------------------}
i:= 3;
while i <= n do { Цикл для нечетных делителей }
if n mod i = 0
then
begin
write(i, ' ');
n:= n div i
end
else i:= i + 2;
writeln
end.
Задача 4. Написать программу, в результате выполнения которой выяснится, входит ли цифра 2 в запись данного целого числа n.
Решение
Алгоритм решения.
1. Начало. Переменные целого типа n, p, k: n - для вводимого числа; p - для цифр этого числа; k - счетчик, подсчитывающий количество цифр в числе, равных 2.
2. Ввод целого числа.
Счетчику k устанавливается первоначальное значение 0.
3. Цикл, пока n <> 0. В цикле, переменной p присваивать значение цифры числа.
Если p = 2, тогда увеличивать k на единицу.
Вычесть из числа n последнюю цифру и разделить его на 10.
Продолжить и закончить цикл.
4. Если k = 0, тогда выдать сообщение: "Цифра 2 не входит в запись числа", иначе, выдать сообщение: "Цифра 2 входит в запись числа".
5. Конец.
Program Problem4; { Входит ли цифра 2 в запись числа }
uses WinCrt;
var
n, p, k: integer;
begin
write(' Введите целое число '); readln(n);
k:= 0;
while n <> 0 do
begin
p:= n mod 10;
if p = 2 then k:= k + 1;
n:= n div 10
end ;
if k = 0 then writeln('Цифра 2 не входит в запись этого числа')
else writeln('Цифра 2 входит в запись этого числа')
end.
Задача 5. Составить программу вывода всех натуральных чисел, меньших n, квадрат суммы цифр которых равен заданному числу m.
Решение
Алгоритм решения.
1. Раздел описаний.
Переменные: n, m, k, a, p, s. Тип целый.
n - для границы значений натуральных чисел, m - для числа, с которым сравнивается квадрат суммы цифр (точный квадрат), k - для натуральных чисел от 1 до n, a - для запоминания натурального числа, перед тем, как будет определяться сумма его цифр, p - для цифр числа, s - для суммы цифр.
2. Раздел операторов.
Ввод значений n и m. Установить первоначальное значение для k (эта переменная " перебирает " все натуральные числа от 1 до n, k:= 1).
Цикл, пока k <= n.
В цикле: установить первоначальные значения для суммы s (s:=0); запомнить число в переменную a (a:= k).
Цикл для подсчета суммы цифр, пока k <> 0.
В цикле: выделять по одной цифре числа, известным способом; прибавлять по одной цифре к сумме; уменьшать число на последнюю цифру и на порядок.
Закончить цикл для подсчета суммы цифр.
Проверка выполнения условия.
Если квадрат суммы цифр равен заданному числу,
тогда вывести это натуральное число на экран.
Перейти к проверке следующего числа.
Закончить основной цикл проверки чисел.
3. Закончить программу.
Program Problem 5;
uses Crt;
var
n, m, k, a, p, s: integer;
begin
write('Введите натуральное число, до которого ');
write('выводить искомые числа '); readln(n);
writeln('Введите число, с которым сравниваете квадрат');
write('его суммы цифр. Оно должно быть точн. квадрат. '); readln(m);
write('Искомые числа: ');
k:= 1;
while k <= n do
begin
s:= 0; a:= k;
while k <> 0 do
begin
p:= k mod 10;
s:= s + p;
k:= k div 10
end;
if sqr(s) = m then write(a, ' ');
k:= a + 1
end
end.
|
|
|
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!