Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.12.2010, 17:49   #1
Zhasik
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 18
По умолчанию Найти наименьшее натуральное число n, представимое двумя различными

Найти наименьшее натуральное число n, представимое двумя различными
способами в виде суммы кубов двух натуральных чисел х3 + у3 (х >= у)
Zhasik вне форума Ответить с цитированием
Старый 27.12.2010, 20:09   #2
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

вручную нашел эти числа (первое было 1064=10*10*10+4*4*4=7*7*7+9*9*9) после чего прогу составить вообще без труда:

Код:
uses CRT;
var i,j,l,k:longint;
begin
clrscr;
for i:=1 to 8 do
for j:=i+1 to 10 do
for l:=2 to 10 do
if (l<>i) and (l<>i) then
for k:=l+1 to 10 do
if (k<>i) and (k<>j) then
if i*i*i+j*j*j=l*l*l+k*k*k then
begin
write(i*i*i+j*j*j);
readln;readln;
exit;
end;
end.
И если не сложно оцени работу + ом
Если я тебе помог, помоги и ты мне +ом с комментарием

Последний раз редактировалось Ponkole; 27.12.2010 в 21:17.
Ponkole вне форума Ответить с цитированием
Старый 29.12.2010, 20:28   #3
Ponkole
Форумчанин
 
Регистрация: 02.07.2010
Сообщений: 167
По умолчанию

+ом и комментарием
Если я тебе помог, помоги и ты мне +ом с комментарием
Ponkole вне форума Ответить с цитированием
Старый 28.06.2011, 16:34   #4
HeRo!N
 
Регистрация: 20.04.2011
Сообщений: 3
По умолчанию

Такая же задача попалась только на С++ если у кого-нибудь есть решение выложите плиз, Ponkole вручную не правильно нашел решение
10*10*10+4*4*4=1064
9*9*9+7*7*7=1072
HeRo!N вне форума Ответить с цитированием
Старый 07.03.2013, 14:37   #5
ujif
Пользователь
 
Регистрация: 24.02.2013
Сообщений: 28
По умолчанию не понял задание

Цитата:
Сообщение от Zhasik Посмотреть сообщение
Найти наименьшее натуральное число n, представимое двумя различными
способами в виде суммы кубов двух натуральных чисел х3 + у3 (х >= у)
например ,простите ,не понял задание,найти наименьшее натуральное число...по отношению к чему наименьшее?и почему 2-мя различными способоми?ведь способ один -в виде суммы кубов...но опять же наименьшее к чему????
ujif вне форума Ответить с цитированием
Старый 07.03.2013, 14:51   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Наименьшее оно и есть наименьшее - во множестве натуральных чисел
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.03.2013, 15:40   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
наименьшее к чему
множество натуральных чисел снизу ограничено 1 (первый элемент множества = 1). В отличие от, например, целочисленного множества. Поэтому без дополнительных условий наименьшим будет 1. С условиями - ближайшее к единице, им удовлетворяющее число.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 07.03.2013, 22:06   #8
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Оценил, что такое число может быть получено, если x <= 40 и y<= 40.
Написал программку, но впал в ступор с перебором.
1. Программа формирует двумерный массив сумм кубов номеров его строк и столбцов (массива). Во загнул.
2. Просматриваем массив на равенство значений при условии, что найденные значения находятся в разных строках и столбцах.
3. В моём примере, из-за ступора, пока вывел в файл.
Получилось минимальное число, удовлетворяющее условиям задачи:
1729 = 1^3 + 12^3 = 9^3 + 10^3.
Следующее:
4104 = 2^3 + 16^3 = 9^3 + 15^3.
Вот код:
Код:
program mincub;
     uses crt;
     var
     mas : array[1..40,1..40] of longint;
     i, j, m, k : longint;
     fh : text;
     begin
     assign(fh, 'c:\1\123.txt');
     rewrite(fh);
     for i := 1 to 40 do
     begin
       k := i * i * i;
       for j := 1 to 40 do
           mas[i, j] := k + j * j * j;
     end;

     for i := 1 to 40 do
       for j := 1 to 40 do
       begin
          for k := i + 1 to 40 do
             for m := j + 1 to 40 do
                if (mas[i,j] = mas[k,m]) then
                   if ((i <> k) and (i <> m)) then
                      writeln(fh, 'i=', i, ' j=',j, ' k=',k, ' m=',m, ' -- ',mas[i, j]);
       end;
       close(fh);
     end.
Как-то так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 08.03.2013, 01:54   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

ViktorR, прикольно
Мое решение - в лоб:
Код:
const
  eps = 0.00001;

var
  x, y, n, x1, y1: longint;
  tmp: real;

begin
  x := 0;
  while true do
  begin
    inc(x);
    y := 0;
    while (y < x) do
    begin
      inc(y);
      n := x * x * x + y * y * y;
      x1 := x;
      y1 := y;
      while x1 > 1 do
      begin
        dec(x1);
        tmp := exp(ln(n - x1 * x1 * x1) / 3);
        if trunc(tmp) > x1 then
          break;
        if (Frac(tmp) < eps) or (1 - Frac(tmp) < eps) then
        begin
          y1 := round(tmp);
          writeln(x, ' ', y, ' ', x1, ' ', y1);
          readln;
        end;
      end;
    end;
  end;
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
даны действительное число а, натуральное число n [Паскаль] Анна22 Помощь студентам 2 07.12.2010 20:31
Дан файл с различными датами.в дате число,месяц и год.Найти весеннюю дату. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 1 26.12.2008 15:20
Найти на отрезке [n, 2n] натуральное число, имеющее наибольшее количество делителей. APTEMUC Паскаль, Turbo Pascal, PascalABC.NET 2 10.12.2008 05:20
Элементарная задача,определить наименьшее число juzam Паскаль, Turbo Pascal, PascalABC.NET 7 26.11.2008 23:53