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

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

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2021, 22:34   #1
Lirax
 
Регистрация: 24.10.2021
Сообщений: 6
По умолчанию Дано целое число n и выражение n=x^2+y^2+z^2

Дано целое число n и выражение n=x^2+y^2+z^2. Найти все числа x,y,z, удовлетворяющие этому выражению. В среде lazarus ввод осуществляется в edit, а вывод в мемо по такой аналогии
Изображения
Тип файла: jpg SaIESA-PmT0.jpg (20.4 Кб, 1 просмотров)
Тип файла: png Снимок экрана 2021-10-21 235303.png (15.0 Кб, 25 просмотров)

Последний раз редактировалось Lirax; 24.10.2021 в 23:06.
Lirax вне форума Ответить с цитированием
Старый 24.10.2021, 22:55   #2
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Вы не поверите, есть такие волшебные букафки -
Код:
 if (x*x+y*y+z*z)<>n then Continue;
Чтобы было красиво, и можно было скопировать.
Изображения
Тип файла: png co.PNG (5.7 Кб, 24 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 24.10.2021, 23:05   #3
Lirax
 
Регистрация: 24.10.2021
Сообщений: 6
По умолчанию

type_Oleg, извините, я первый раз на этом форуме

Код:
var
  n,y,z,x:integer;
begin
n:=StrToInt(Edit1.text);
    for x:=0 to n do
begin
    for y:=0 to n do
begin
    for z:=0 to n do
begin
if (sqr(x)+sqr(y)+sqr(z)=n) then Memo1.Lines.Text := Memo1.Text + IntToStr(x) + IntToStr(y) + IntToStr(z) + ' ';

end;
end;
end;
end;
 end.

Последний раз редактировалось BDA; 25.10.2021 в 13:39.
Lirax вне форума Ответить с цитированием
Старый 25.10.2021, 00:11   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Вроде правильно, но лучше так-
Код:
var m,n,x,y,z:Integer;
begin
 n:=StrToIntDef(Edit1.Text,0);
 m:=Round(Sqrt(n))+1;
 for x:=0 to m do
  for y:=0 to m do
   for z:=0 to m do
    if (x*x+y*y+z*z)=n then Memo1.Lines.Add(IntToStr(x)+#9+IntToStr(y)+#9+IntToStr(z));
end;
Может быть, еще как то можно сократить .
9- код табуляции. Можно вместо него просто ' ' , но с tab лучше.

PS А лучше
Код:
m:=Ceil(Sqrt(n));
но для него надо
Код:
uses Math;

Последний раз редактировалось type_Oleg; 25.10.2021 в 00:17.
type_Oleg вне форума Ответить с цитированием
Старый 25.10.2021, 08:40   #5
Lirax
 
Регистрация: 24.10.2021
Сообщений: 6
По умолчанию

type_Oleg, спасибо большое
Lirax вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[C++] Проблемы с программой. Дано целое число N (> 1). Вывести наименьшее целое K, при котором выполняется неравенство 3K > N, и само значение 3K Орлов Помощь студентам 2 11.07.2017 09:29
[Pascal] Дано вещественное число X и целое число N (> 0). Найти значение выражения Vladislav125 Помощь студентам 3 24.06.2017 18:14
Паскаль. цикл FOR. Дано вещественное число Х(|X|<1) и целое число N(>0) Найти значение выражения ... schibeki Помощь студентам 10 06.02.2014 23:19
Задача на использования оператор цикла for C++. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму /Crow/ Помощь студентам 0 19.12.2013 12:02
Дано вещественное число X и целое число N (> 0). Вывести X – X3/3! + X5/5! – ... + (–1)NX2N+1/(2N+1)!? Ахилес Помощь студентам 2 20.05.2010 20:34