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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 29.01.2009, 23:18   #1
LOVELY
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 10
По умолчанию СРОЧНО!Олимпиадная интересная задача!

Ребятушки, очень срочно...олимпиадная задача...нужна на завтра буквально!!!
выручайте))))

Числа Фибоначчи.
Дано натуральное число N. Составьте программу, которая вычисляет сумму тех цифр числа N, которые являются числами Фибоначчи - это числа последовательности 1,1,2,3,5,8,13... , где первые 2 члена последовательности имеют значение 1, а каждый последующий член, начиная с 3-его, равен сумме 2-ух предыдущих членов последовательности.
Input: число N (<= 1000000000) вводится с клавиатуры.
Output: полученная сумма выводится на экран
Пример: Input: 289756
Output: 2+8+7+5=22
LOVELY вне форума
Старый 29.01.2009, 23:39   #2
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

7 не является числом фибоначи
capta1n вне форума
Старый 29.01.2009, 23:45   #3
LOVELY
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 10
По умолчанию

выходит составители ошиблись???
ну тогда без 7 ...главное программу составить...((
LOVELY вне форума
Старый 29.01.2009, 23:48   #4
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

Код:
const
 fibo : array [1..5] of 1..8 = (1,2,3,5,8);
var
 numb : longint;
 sum : byte;
 x : 0..9;
 i : 1..5;
begin
  write ('Input number '); readln(numb);
  numb:=abs(numb);
  sum:=0;
  repeat
    x:=numb mod 10;
    numb:=trunc((numb - x)/10);
    for i:=1 to 5 do
     if x=fibo[i] then
     begin
       inc(sum,x);
       break
     end
  until numb=0;
  writeln (sum);
  readln
end.
capta1n вне форума
Старый 30.01.2009, 00:28   #5
LOVELY
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 10
По умолчанию

спасибо большое! весы оставила)))
но адын вопрос: inc(sum,x); - это что за оператор?
LOVELY вне форума
Старый 30.01.2009, 00:51   #6
capta1n
Форумчанин
 
Аватар для capta1n
 
Регистрация: 06.12.2008
Сообщений: 613
По умолчанию

то же самое, что и sum:=sum+x
capta1n вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интересная задача в Pascal cuzo Помощь студентам 9 28.12.2008 17:50
Интересная задача! - DannerDOS.kz Паскаль, Turbo Pascal, PascalABC.NET 2 16.12.2008 14:04
Интересная задача Ser Паскаль, Turbo Pascal, PascalABC.NET 3 27.02.2008 00:19
Олимпиадная задача Carbon Общие вопросы C/C++ 2 23.05.2007 22:07