
Pascal. 1. Составить программу нахождения произведения двух наибольших из трех введенных с
клавиатуры чисел. 2. а) Найти сумму нечетных делителей натурального числа. б) Для каждого числа от А до В найти сумму его нечетных делителей.

Ответы на вопрос

1.
program raf105;
var a,b,c:integer;
begin
write('Введите 3 числа: ');
readln(a,b,c);
if (a<b) and (a<c)
then writeln('Произведение 2 наибольших чисел: ',b*c);
if (b<a) and (b<c)
then writeln('Произведение 2 наибольших чисел: ',a*c);
if (c<b) and (c<a)
then writeln('Произведение 2 наибольших чисел: ',b*a);
end.
2.
а)
program raf105;
var a,i,b:integer;
begin
write('Введите число: ');
readln(a);
for i:=1 to a do
if ((a mod i)=0) and ((i mod 2)<>0)
then b:= b+i;
writeln('Сумма нечётных делителей введённого числа: ',b);
end.
б)
program raf105;
var a,a2,i,j,b:integer;
begin
write('Введите меньшее число: ');
readln(a);
write('Введите большее число: ');
readln(a2);
for j:=a to a2 do
begin
for i:=1 to j do
if ((j mod i)=0) and ((i mod 2)<>0)
then b:= b+i;
writeln('Сумма нечётных делителей числа ',j,' равна: ',b);
b:= 0;
end;
end.
Язык программирования PascalABC



Для решения задач на языке программирования Pascal, вам понадобится среда разработки, которая поддерживает этот язык. Одним из таких инструментов является Turbo Pascal. Ниже приведены программы для обеих задач:
- Нахождение произведения двух наибольших из трех чисел:
pascalprogram FindMaxProduct; var a, b, c, max1, max2, product: real; begin writeln('Введите три числа:'); readln(a, b, c); { Находим наибольшие два числа } max1 := a; max2 := b; if b > max1 then begin max1 := b; max2 := a; end; if c > max1 then begin max2 := max1; max1 := c; end else if c > max2 then max2 := c; product := max1 * max2; writeln('Произведение двух наибольших чисел = ', product:0:2); end.
- а) Нахождение суммы нечетных делителей натурального числа:
pascalprogram SumOfOddDivisors; var num, divisor, sum: integer; begin writeln('Введите натуральное число:'); readln(num); sum := 0; for divisor := 1 to num do begin if (num mod divisor = 0) and (divisor mod 2 <> 0) then sum := sum + divisor; end; writeln('Сумма нечетных делителей числа ', num, ' = ', sum); end.
- б) Нахождение суммы нечетных делителей для каждого числа от A до B:
pascalprogram SumOfOddDivisorsInRange; var a, b, num, divisor, sum: integer; begin writeln('Введите интервал [A, B]:'); readln(a, b); for num := a to b do begin sum := 0; for divisor := 1 to num do begin if (num mod divisor = 0) and (divisor mod 2 <> 0) then sum := sum + divisor; end; writeln('Сумма нечетных делителей числа ', num, ' = ', sum); end; end.
Обратите внимание, что вторая задача б) перебирает числа от A до B включительно и находит сумму нечетных делителей для каждого числа в этом диапазоне.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili