У исполнителя вычеслитель имеются две команды 1) Вычти 2
2) умножь на x
( x - неизвестное натуральное число; x > 2 ) выполняю первую из них вычислитель вычитывает из числа на экране 2, а выполняя вторую, умножает это число на x. Программа для исполнителя вычеслитель - это последовательность номеров команд. Известно, что программа 11211 переводит число 15 В число 95. Определите значение x.
2. Текст программы на языке Python
import math
a=float(input("Введите длину большего основания а: "))
b=float(input("Введите длину меньшего основания b: "))
alpha=float(input("Введите угол при большем основании в градусах: "))
alphar=alpha*math.pi/180
print("Площадь трапеции равна ",(a**2-b**2)/4*math.tan(alphar))
3. Тестовое решение
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Введите длину большего основания а: 20
Введите длину меньшего основания b: 10
Введите угол при большем основании в градусах: 40
Площадь трапеции равна 62.932472338295995
>>>
Число 17 можно получить только двумя и 8+9=17.
Отсюда получаем два варианта: (a=9; b=8) и (a=8; b=9). (1)
Число 15 можно получить тоже двумя полагая, что одно из слагаемых (b) равно 8 или 9: 9+6 и 8+7, что тоже дает два варианта: (b=9; c=6) и (b=8; c=7). (2)
Объединяя (1) и (2) получаем (a=9; b=8; c=7) и (a=8; b=9; c=6), т.е. у нас по-прежнему есть два варианта решения.
2. Теперь рассмотрим вариант построения числа 1715 при условии a+b=15, b+c=17 и упорядочения 17, 15 по убыванию. Легко видеть, что решение будет "симметричным": (a=7; b=8; c=9) и (a=6; b=9; c=8) и это также даст нам два варианта.
3. Объединяя результат получаем, что всего имеется четыре решения, т.е. четыре числа (698, 789, 896, 987).
ответ: 4 числа.
Проверка решения программным путем (Borland Pascal 7.0)
uses Crt;
var
a,b,c,ab,bc,t,k:byte;
s1,s2:string;
begin
ClrScr;
k:=0;
for a:=0 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
begin
ab:=a+b; bc:=b+c;
if ab<bc then begin t:=ab; ab:=bc; bc:=t end;
Str(ab,s1); Str(bc,s2);
if s1+s2='1715' then begin WriteLn(a,b,c); Inc(k) end
end;
Writeln('kol-vo=',k);
ReadKey
end.
Результат выполнения программы:
698
789
896
987
kol-vo=4