IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> задачи по Pascalю , помогитее плизз(, циклы и линейные массивы
ScRawL
сообщение 9.11.2008, 16:03
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 9.11.2008
Город: Ижевск
Учебное заведение: УдГУ



цикл с условием:
дано натурально число N<=2000000000. Представить N в виде суммы факториалов натуральных чисел, содержащей наименьшее число слагаемых

цикл с заранее известным числом повторений:
дано целое n, 0<=n<=27. Найти количество натуральных чисел, меньших 1000, сумма цифр которых равна n.

линейный массив:
1.Дан линейный вещественный массив а. Найти (а1+а2)*(а3+а4)*...*(аn-1+an), n - четное
2.Дано целое число k (2<=k<=20). Найти коэффиценты k-го многочлена Чебышева. Последовательность Тi(x) многочленов Чебышева задается формулами Т0(x)=1, T1(x)=x, Ti(x)=2xTi-1(x)-Ti-2(x), i=2,3,4...


пожалуйста помогиттте мнее, хотя бы подскажите, или фрагмент программы напишите ..пожалуйста.. заранее благодарна! (IMG:style_emoticons/default/blush.gif)
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
creer
сообщение 9.11.2008, 19:38
Сообщение #2


Студент
**

Группа: Продвинутые
Сообщений: 121
Регистрация: 28.10.2007
Город: Екатеринбург
Учебное заведение: УГТУ-УПИ
Вы: студент



Могу рассказать идеи решений, например у первых 2 заданий (IMG:style_emoticons/default/wink.gif)

1. Любое натуральное число можно представить как сумму факториалов. Значит задача не так сложна. Для решения, я бы составил массив факториалов (благо всего 12 значений), либо просто написал функцию fac(n), которая возвращает факториал числа. Потом просто двойной цикл (примерно так)
Код
for i:=12 downto 1 do
  while (sum + fac(i))<=N do
  begin  
    sum:=sum + fac(i);
    writeln(i);
  end;


2. Еще проще.
Код
for i:=1 to 1000 do
  if summ(i) = N then
    count:=count + 1;

Где функция summ возвращает сумму цифр числа
Можно написать например так
Код
function summ(n:integer):integer;
var
  tn, t, sm:integer;  
begin
  tn := n;
  t := 0;
  while tn>0 do
  begin  
    t := t + tn mod 10;
    tn := tn div 10;
  end;
  summ:=t;  
end;
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ScRawL
сообщение 11.11.2008, 14:51
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 9.11.2008
Город: Ижевск
Учебное заведение: УдГУ



Спасибооо большоее:-*
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 16:54

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru