Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 07.10.2011, 16:34   #1
Horatii
Новичок
Джуниор
 
Регистрация: 07.10.2011
Сообщений: 5
Репутация: 10
Сообщение Циклы (разложить число в ряд суммы квадратов)

Привет всем!!!
ну у мну такой вопрос
дается 1^2+2^2+3^2+4^2+..+n^2
1 + 4 + 9 + 16 +...+n
5 14 30 n
чтобы программе дал назад 4 уровни (1 4 9 16)

я вот так подумал но не работает

program p1;
var a,b,c,d:integer;
begin
readln(a);
for i:=1 to n do
while b:=a do
b:=b+sqr(i+1);
write (i);
end. {не работает пробовал и с инструкцией repeat тоже что то не то}
Дал а:=30 а программа написала 4(1 + 4 + 9 + 16)
Дал а:=14 а программа написала 3(1 + 4 + 9 )

Последний раз редактировалось Horatii; 07.10.2011 в 16:40.
Horatii вне форума   Ответить с цитированием
Старый 07.10.2011, 16:37   #2
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,991
Репутация: 3738

icq: 512-765
skype: alexp.frl
По умолчанию

Вопрос-то где? Не понял, что вы хотите сделать.
Alex11223 на форуме   Ответить с цитированием
Старый 07.10.2011, 17:04   #3
Horatii
Новичок
Джуниор
 
Регистрация: 07.10.2011
Сообщений: 5
Репутация: 10
По умолчанию

Чтобы программа дала мне уровни если а:=5 то тут 2 уровня
и без case
Horatii вне форума   Ответить с цитированием
Старый 07.10.2011, 17:12   #4
Alex11223
Модератор
Заслуженный модератор
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 18,991
Репутация: 3738

icq: 512-765
skype: alexp.frl
По умолчанию

Что такое уровни?оО
Члены этой последовательности от 1 до а? А зачем тогда n?
Alex11223 на форуме   Ответить с цитированием
Старый 07.10.2011, 17:25   #5
JUDAS
фонатик DELPHI
Участник клуба
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Адрес: Украина
Сообщений: 708
Репутация: 184
По умолчанию

Код:
program Project5;
var i,a,d :integer;
    r   : string;
begin
 readln(a);
 i:=1;
 r:='';
 repeat
  d:=sqr(i);
  A:=A-d;
  r:=r+str(d)+' ';
  inc(i);
 until sqr(i)>a;
 write (r);
end.
Но если я дам значение которое не разбивается на сумму квадратов, то переменна а будет содержать остаток.
Например А=32 даст (1+4+9+16) и остаток 2
__________________
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума   Ответить с цитированием
Старый 08.10.2011, 09:49   #6
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 25,829
Репутация: 5617
По умолчанию

мне понравилось решение от JUDAS

но там маленькая ошибочка - STR - это не функция, а процедура.
вот исправленное решение (ну плюс ещё добавил вывод то, что автор темы называет "уровнем")
Код:
program Project5;
var i,a,d :integer;
    r, sD   : string;
begin
 readln(a);
 i:=1;
 r:='';
 repeat
  d:=sqr(i);
  A:=A-d;
  str(d, sD);
  if length(r)=0 then r := sD
  else r:=r + ' + ' + sD;
  inc(i);
 until sqr(i)>a;
 writeln (i,' ('+r+')' );
 if A<>0 then Writeln('Внимание. число A не разбивается нацело!');
 readln
end.
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 08.10.2011, 10:20   #7
Horatii
Новичок
Джуниор
 
Регистрация: 07.10.2011
Сообщений: 5
Репутация: 10
По умолчанию

Большое спасибо !!!
Horatii вне форума   Ответить с цитированием
Старый 08.10.2011, 11:31   #8
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6850
По умолчанию

Цитата:
но там маленькая ошибочка - STR - это не функция, а процедура.
Ну и нужна она тут?
Код:
program Project5;
var i,a,d :integer;
    r   : string;
begin
 readln(a);
 i:=1;
 r:='';
 repeat
  d:=sqr(i);
  A:=A-d;
  write (d:5);
  inc(i);
 until sqr(i)>a;
 writeln;readln;
end.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 08.10.2011, 11:57   #9
JUDAS
фонатик DELPHI
Участник клуба
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Адрес: Украина
Сообщений: 708
Репутация: 184
По умолчанию

Цитата:
но там маленькая ошибочка - STR - это не функция, а процедура.
Серж, спорить не стану !
Все паскалевские задачи отлаживаю в 7-м делфи в консольном режиме )))
Знаю что в Паскале нет IntToSTr )))
__________________
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
sh(х) разложить в ряд Тейлора Litoi Помощь студентам 5 26.09.2011 21:16
Разложить число на цифры Dog Помощь студентам 10 09.05.2011 12:16
Разложить в ряд arcsin. FPU smalsvoloch Общие вопросы C/C++ 0 28.10.2010 20:57
число в виде суммы квадратов натуральных чисел gambuz Паскаль 0 04.10.2010 11:07
Дано натуральное число n. Можно ли представить его в виде суммы двух квадратов натуральных чисел? Сеня Помощь студентам 3 29.01.2009 02:17


21:00.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.