Под "решить уравнение" традиционно подразумевают нахождение множества, подстановка каждого элемента которого превращает данное выражение в верное равенство, а каждый элемент принадлижащий дополнению, не обладает таким свойством.
Смотрим вправо от решения: очевидно, что они расходятся и более не сойдутся (это кстати доказывается строго), смотрим влево: один асимптоматически приближается к 1, другой к 0, стало быть встретиться им снова не судьда(тоже школьная программа).
> Под "решить уравнение" традиционно подразумевают нахождение множества, подстановка каждого элемента которого превращает данное выражение в верное равенство, а каждый элемент принадлижащий дополнению, не обладает таким свойством.
тут больше надо спрашивать философов .. ты сам написал что такое ''решение уравнения'', а теперь посмотри твое соотношение это и есть решение, a^2 + 1 = 5^b .. берешь любое `a' - подставляешь, находишь `b', то есть этим соотношением(не уравнением!) ты скрепил некоторое множество пар
возможно ты хочешь ''решить уравнение'' всмысле найти более ''простое'' соотношение для того же множества .. но теперь возникнет вопрос - где критерий простоты соотношений? А вдруг полученое(после ''решения уравнения'') соотношение будет ''сложнее'' чем изначальное ?
кто сказал что соотношение 2*a - 6 = 0 сложнее чем a = 3 ? ;)
Подытоживая большинство предыдущих ораторов, могу сказать, что такие задачи публиковать в вечер пятницы крайне не рекомендуется - она в лучшем случае будет не решена, в худшем - будет решена неправильно :)
Докажем, что для b>1 уравнение невыполнимо. Для этого преобразуем уравнение: 2^a=5^b-1, и разберем несколько случаев:
1) b четное.
Оставляю почтенной публике доказать, что в таком случае 5^b кратно 3. Следовательно такие b не подходят.
2) b нечетное.
представим 5^b-1 как (5-1)*(5^(b-1)+...+1). Опять же, не составляет труда видеть, что вторая скобка -- нечетное число > 1, значит такое b тоже не подходит.
Остается b = 1, для которого нехитрым перебором получаем a = 2 :)
P. S. Я всю эту математику отрешал на закрытых и открытых государственных олимпиадах в 7 - 12 классах, она мне надоела порядочно, равно как и физика с химией.
> Я всю эту математику отрешал на закрытых и открытых государственных олимпиадах в 7 - 12 классах, она мне надоела порядочно, равно как и физика с химией.
Таки и гипотезу Римана "отрешал"? :) Ну ты крут...
>Нет, но это я к тому, что если что-то поднадоедает, стоит попробовать копнуть поглубже.
У меня знакомый есть, который на IMO и IOI занимал призовые места, ему всё как орешки. Я круче государственных олимпиад ничего не видел, поэтому ниасилю.
В силу моего лентяйства я и в универе них*я не делаю, на бюджете держусь - и то хорошо.
>Кстати, тогда непонятно, чем ны вообще собираешься заниматься.
Ну сейчас я занимаюсь админством, быдлокодерством на перле и прочей хнёй, дальше поживём - увидим. :)
В том смысле, что используя арифметику с плавающей точкой нельзя проверять равенство просто так. Нужно вводить допущение, а в данном случае это недопустимо. Ты степень с помощью логарифма вычислял?
Нет, зачем. Мне ж не надо было как-то оптимизировать вычисления,
расширять их. Я просто один раз запустил и посмотрел. Нет, ну так и
нет...
Вот код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var a,b: Cardinal;
c: Int64;
t: Extended;
begin
a:=3;
b:=1;
repeat
t:=IntPower(2,a)+1-IntPower(5,b);
if t>0 then b:=b+1
else a:=a+1;
until (abs(t)<1E-20) or (b=7000) or (a=16000);
writeln(a,' ',b);
readln;
end.
Кстати, в любой сколь угодно малой программе всегда есть хотя одна
ошибка :)