Произведение первых двух из четырех последовательных нечетных натуральных чисел на 32 единицы меньше произведение следующих двух чисел. найдите среднее арифметическое этих чисел.
Представим z как: z = 100a+10b+c Тогда первое предложение задачи можно записать так: (100a+10b+c)-(100b+10a+c)=630 Раскрываем скобки, упрощаем: 90a-90b=630 a-b=7 Выражаем а: а=b+7 И теперь выписываем условие из второго предложения: a+b+c=20 Подставляем ранее выраженное: 2b+7+c=20 2b+c=13 Отсюда с - однозначно нечётное. Т.к. a не больше 9, то b или 1, или 2. Но с b равным 1 получилось бы, что c равно 11, что невозможно. Так что единственная допустимая комбинация - а=9, b=2, c=9, отсюда число z=929. Спрашивайте, если что непонятно
Для примера возьмем трехзначное число 671. Если его разделить на 100 и отбросить остаток, то получим 6 — первая цифра (число сотен). Поскольку для целочисленного деления существует операция div, то здесь достаточно вычислить 671div 100, что возвратит нам результат 6. Аналогично мы поступали при вычислении первой цифры двузначного числа в программе Integer6, только там нужно было делить на 10. Этот используется и в данной программе.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
N: word;
begin
write('N = ');
readln(N); { <-- вводим трехзначное число }
writeln;
{ Находим и выводим первую цифру числа
как целую часть при делени на 100: }
writeln('Первая цифра числа: ', N div 100);
readln
end.
Integer10. Дано трехзначное число. Вывести вначале его последнюю цифру (единицы), а затем — его среднюю цифру (десятки).
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
N: word;
begin
write('N = ');
readln(N); { <-- вводим трехзначное число }
writeln;
N := N mod 100; { <== Последние две цифры }
{ Выводим последнюю и среднюю цифры числа: }
writeln('Последняя цифра: ', N mod 10);
writeln('Средняя цифра: ', N div 10);
readln
end.
Integer11. Дано трехзначное число. Найти сумму и произведение его цифр.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
N: word; { Трехзначное число }
t1, t2, t3: byte; { Цифры трехзначного числа }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим трехзначное число }
writeln;
t3 := N mod 10; { <== третья цифра }
N := N div 10; { <== число созданное первыми двумя цифрами }
t2 := N mod 10; { <== вторая цифра }
t1 := N div 10; { <== первая цифра }
writeln('Сумма цифр: ', t1 + t2 + t3);
writeln('Произведение цифр: ', t1 * t2 * t3);
readln
end.
Integer12. Дано трехзначное число. Вывести число, полученное при прочтении исходного числа справа налево.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
N: word; { Трехзначное число }
t1, t2, t3: byte; { Цифры трехзначного числа }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим число }
writeln;
t3 := N mod 10; { <== третья цифра - единицы }
N := N div 10; { <== число созданное первыми двумя цифрами }
t2 := N mod 10; { <== вторая цифра - десятки }
t1 := N div 10; { <== первая цифра - сотни }
{ t3 - сотни, t2 - десятки, t1 - единицы: }
N := 100 * t3 + 10 * t2 + t1; { <== перевернутое число }
writeln('Прочитанное в обратном порядке число: ', N);
readln
end.
Второй вариант не предусматривает дополнительных переменных для хранения цифр числа:
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
N: word; { Трехзначное число }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим число }
writeln;
{ Вычисляем три цифры числа:
1) N div 100 - первая цифра;
2) N div 10 mod 10 - вторая цифра;
3) N mod 10 - третья цифра.
Составляем число с переставленными цифрами справа налево: }
N := 100 * (N mod 10) + 10 * (N div 10 mod 10) + N div 100;
writeln('Прочитанное в обратном порядке число: ', N);
z = 100a+10b+c
Тогда первое предложение задачи можно записать так:
(100a+10b+c)-(100b+10a+c)=630
Раскрываем скобки, упрощаем:
90a-90b=630
a-b=7
Выражаем а:
а=b+7
И теперь выписываем условие из второго предложения:
a+b+c=20
Подставляем ранее выраженное:
2b+7+c=20
2b+c=13
Отсюда с - однозначно нечётное.
Т.к. a не больше 9, то b или 1, или 2. Но с b равным 1 получилось бы, что c равно 11, что невозможно. Так что единственная допустимая комбинация - а=9, b=2, c=9, отсюда число z=929.
Спрашивайте, если что непонятно
Для примера возьмем трехзначное число 671. Если его разделить на 100 и отбросить остаток, то получим 6 — первая цифра (число сотен). Поскольку для целочисленного деления существует операция div, то здесь достаточно вычислить 671div 100, что возвратит нам результат 6. Аналогично мы поступали при вычислении первой цифры двузначного числа в программе Integer6, только там нужно было делить на 10. Этот используется и в данной программе.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var
N: word;
begin
write('N = ');
readln(N); { <-- вводим трехзначное число }
writeln;
{ Находим и выводим первую цифру числа
как целую часть при делени на 100: }
writeln('Первая цифра числа: ', N div 100);
readln
end.
Integer10. Дано трехзначное число. Вывести вначале его последнюю цифру (единицы), а затем — его среднюю цифру (десятки).
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var
N: word;
begin
write('N = ');
readln(N); { <-- вводим трехзначное число }
writeln;
N := N mod 100; { <== Последние две цифры }
{ Выводим последнюю и среднюю цифры числа: }
writeln('Последняя цифра: ', N mod 10);
writeln('Средняя цифра: ', N div 10);
readln
end.
Integer11. Дано трехзначное число. Найти сумму и произведение его цифр.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
N: word; { Трехзначное число }
t1, t2, t3: byte; { Цифры трехзначного числа }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим трехзначное число }
writeln;
t3 := N mod 10; { <== третья цифра }
N := N div 10; { <== число созданное первыми двумя цифрами }
t2 := N mod 10; { <== вторая цифра }
t1 := N div 10; { <== первая цифра }
writeln('Сумма цифр: ', t1 + t2 + t3);
writeln('Произведение цифр: ', t1 * t2 * t3);
readln
end.
Integer12. Дано трехзначное число. Вывести число, полученное при прочтении исходного числа справа налево.
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var
N: word; { Трехзначное число }
t1, t2, t3: byte; { Цифры трехзначного числа }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим число }
writeln;
t3 := N mod 10; { <== третья цифра - единицы }
N := N div 10; { <== число созданное первыми двумя цифрами }
t2 := N mod 10; { <== вторая цифра - десятки }
t1 := N div 10; { <== первая цифра - сотни }
{ t3 - сотни, t2 - десятки, t1 - единицы: }
N := 100 * t3 + 10 * t2 + t1; { <== перевернутое число }
writeln('Прочитанное в обратном порядке число: ', N);
readln
end.
Второй вариант не предусматривает дополнительных переменных для хранения цифр числа:
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
N: word; { Трехзначное число }
begin
write('Введите трехзначное число: ');
readln(N); { <-- вводим число }
writeln;
{ Вычисляем три цифры числа:
1) N div 100 - первая цифра;
2) N div 10 mod 10 - вторая цифра;
3) N mod 10 - третья цифра.
Составляем число с переставленными цифрами справа налево: }
N := 100 * (N mod 10) + 10 * (N div 10 mod 10) + N div 100;
writeln('Прочитанное в обратном порядке число: ', N);
readln
end.
Пошаговое объяснение:
Сорри если не правильно