Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обобщённая Теорема Ферма, Код доступен для младших групп детсадов 
:(
    Опции темы
LKhiger
  Дата 11.10.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.9.2009

Репутация: 2
Всего: 2



Всем известна Великая Теорема Ферма X^n + Y^n = Z^n. Одна из самых популярных тем математики.

DB2 представляет возможность поиграться с этой теоремой. 
Убедиться, что она не имеет решений  для n > 2 и имеет для n = 2.

Попробуйте. smile  
Как всегда надо лишь скопировать код и запустить его на выполнение. smile 

Код
with pN(n, lim) as
( select 2, 300 from sysibm.sysdummy1)
,
Arguments(A, ApN) as 
(select int(1), int(1) from sysibm.sysdummy1
union all
select A + 1, power(A + 1, N)
from Arguments, pN
where A + 1 <= lim * power(2, 1. / N) + 1
)  
select X.A x, Y.A y, Z.A z,  
varchar(X.A) || '^' || varchar(N) || ' + '   || varchar(Y.A) || '^' || varchar(N)  
                   || ' = ' || varchar(Z.A) || '^' || varchar(N)    "Fermat Solution"
from Arguments X, Arguments Y, Arguments Z, pN 
where X.ApN + Y.ApN = Z.ApN 
  and Y.A           > X.A
  and Z.A           > X.A
  and Z.A           > Y.A
  and Z.A           < X.A + Y.A
Order By Z.A, X.A, Y.A


Возникает вопрос: Почему топик назван "Обобщённая Теорема Ферма" ? 

В чём обобщение ?

Равенство X^n + Y^n = Z^n мы преобразуем в равенство: 
Z^n / (X^n + Y^n) = 1.

Для  n > 2 мы будем искать решение в интервале, но уже не равенства, а неравенства: smile 
abs(Z^n / (X^n + Y^n) - 1) <= eps, или Z^n between (X^n + Y^n) * ( 1 - eps) and (X^n + Y^n) * ( 1 + eps)

Таким образом мы меняем наш SQL, и уже находим решения для n > 2: smile 

Код
with pN(n, lim, eps) as
( select 3, 300, double(1e-5) from sysibm.sysdummy1)
,
ArgX(x, XpN) as 
(select int(1), double(1) from sysibm.sysdummy1
union all
select X + 1, power(double(X + 1), N)
from ArgX, pN
where X + 1 <= lim
) 
,
ArgY(y, YpN) as 
(select * from ArgX )
,
ArgZ(z, ZpN) as 
(select int(1), double(1) from sysibm.sysdummy1
union all
select Z + 1, power(double(Z + 1), N)
from ArgZ, pN
where Z + 1 <= lim * power(2, 1. / n) + 1
) 
select X argX, Y argY, Z argZ , N "Power", (ZpN - (XpN + YpN)) "Absolute Difference" , 
double(ZpN) / double(XpN + YpN) - 1.0 "Relative Difference" 

from ArgX, ArgY, ArgZ, pN 
where ZpN between (XpN + YpN) * ( 1. - eps) and (XpN + YpN) * ( 1. + eps) 
and X < Y
and Y < Z
and X < Z
and Z < X + Y 
order by abs(ZpN - (XpN + YpN)), X, Y


Lenny Khiger, ADSPA&VP

Это сообщение отредактировал(а) LKhiger - 11.10.2009, 02:58
PM MAIL   Вверх
LKhiger
  Дата 11.10.2009, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.9.2009

Репутация: 2
Всего: 2



Я применил соотношения:
      
Код

  Y.A           > X.A
  and Z.A           > X.A
  and Z.A           > Y.A
  and Z.A          < X.A + Y.A

для ускорения работы и упорядочения реультата.

Где Z.A < X.A + Y.A следует из известной теоремы о сумме двух сторон треугольника, которая всегда больше третьей.

Соотношение Y.A  > X.A убирает симметричные решения типа:

Из двух решений 3^2 + 4^2 = 5^2 и 4^2 +3^2  = 5^2 остаётся только первое.

Lenny 


PM MAIL   Вверх
LKhiger
  Дата 15.10.2009, 05:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 65
Регистрация: 7.9.2009

Репутация: 2
Всего: 2



135^3 + 235^3 = 248^3 + 1 

Почти что в яблочко. Да не совсем !

Lenny
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие СУБД | Следующая тема »


 




[ Время генерации скрипта: 0.2544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.