Задали написать программу в паскале на десяточку
Условие такое: найти минимальное натуральное число N, которое можно изобразить в виде суммы кубов двух натуральных чисел в двух вариантах. (N=a(3)+b(3)=c(3)+d(3)). (3) - в третей степени.
Честно говоря не знаю как написать эту прогу, а десять получить очень хочется
Очень надеюсь на вашу помощь.
Помощь подразумеват, что ТЫ что-то делаешь, а тебе советуют, но совсем не то, что КТО-ТО будет делать вместо тебя.
Ну поэтому я и прошу помощи, так как не знаю как её сделать :/
Представь, что тебе ее надо сделать просто на листе бумаги. С чего бы ты начал?
Грубым перебором делай, ты начни, тебе помогут.
program 12345;
var
n:integer;
begin
........
......
......
....
..
readln;
end.
И это всё что я знаю знаю
А какой нужен код, вот для меня задачка :/
я бы еще переменных добавила...
а так - как уже сказали - перебором.
Самый примитивный перебор можно организовать так..
Одно число (это будет a) увеличиваешь в цикле от 1 до получения ответа.
Внутри организуешь цикл по b от 1 до a.
Считаешь сумму их кубов (s).
Теперь делаешь цикл по c от 1 до целой части кубического корня из s, исключая а и b.
В этом цикле вычисляешь t=s-c^3
Если t есть куб целого числа (d^3), то задача решена.
Смотрюю никто не хочет помогать с кодом
Ну ладно, так как у меня есть немного свободного времени...
Добавлено через 11 мин.
uses crt;
var n,a,b,c,d:integer;
label 1;
begin
a:=1;
b:=1;
c:=1;
n:=1;
for n:=1 to 100 do
for a:=1 to 100 do
for b:=1 to 100 do
for c:=1 to 100 do
for d:=1 to 100 do if (n=a*a*a+b*b*b) and (n=c*c*c+d*d*d) then {goto 1;}writeln(n,' ',a,' ',b,' ',c,' ',d);
{1:writeln(n,' ',a,' ',b,' ',c,' ',d);}
end.
Feagor, твое решение неоптимально. На порядок менее оптимально, чем описанное Lapp'ом. Цикл для n не нужен.
я понимаю, но парню видно нужно хоть что-то написать, а ему одни советы дают. а ваще согласен что у lapp'а на порядок оптимальнее