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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2012, 21:21   #1
Андрей9
Новичок
Джуниор
 
Регистрация: 23.01.2012
Сообщений: 2
По умолчанию задачи в турбо паскале.

1)фактарион-такое натуральное число,которое равно сумме факториалов своих цифр.например,145=1!+4!+5!=1+24+120 .НАЙТИ ВСЕ ФАКТАРИОНЫ В ПРОМЕЖУТКЕ ОТ 1 ДО ВВЕДЕННОГО N.
2)дано натуральное числа К и n.подсчитайте квадрат суммы К первых цифр числа N.
3)найти все трехзначные числа, которые при умножении на 2 оканчиваются на 8 а,при умножении на 3 - на 4.
Андрей9 вне форума Ответить с цитированием
Старый 23.01.2012, 23:01   #2
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

1) Если судить по http://en.wikipedia.org/wiki/Factorion , то:
Код:
case n of
   1: fac := 1;
   2: fac := 2;
   3: fac := 145;
   4: fac := 40585;
else
   fac := 0;
end;

If fac = 0 then WriteLn('Не существует') else
WriteLn(fac);
Чтобы понять рекурсию, сперва нужно понять рекурсию.

Последний раз редактировалось Tronix; 23.01.2012 в 23:09.
Tronix вне форума Ответить с цитированием
Старый 24.01.2012, 08:49   #3
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

1.
Код:
function fac(n:integer):integer;
begin
  if (n=0) or (n=1) then fac:=1
  else fac:=n*fac(n-1);
end;
...
begin
...
 for i:=1 to n do begin
   k:=i;
   while k>0 do begin
     s:=s+fac(k mod 10);
     k:=k div 10;
   end;
   writeln('Фактарион ',i,' = ',s);
 end;
...
end.
3.
Код:
for i:=100 to 999 do 
  if ((i*2) mod 10=8) and ((i*3) mod 10=4) then writeln(i);
Есть вопросы, пишите в ЛС.

Последний раз редактировалось rubius2008; 24.01.2012 в 09:12.
rubius2008 вне форума Ответить с цитированием
Старый 24.01.2012, 11:24   #4
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

Цитата:
Сообщение от Андрей9 Посмотреть сообщение
2)дано натуральное числа К и n.подсчитайте квадрат суммы К первых цифр числа N.
В этом есть пояснения. Можь я тупой, но не как не вникну.

ПС
Кстати в первой задаче, по моему, вам дали не верный код. В плане того, что факторион должен считатся, как я понял, не от мод, а просто по последовательности суммы факториалов
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 24.01.2012, 11:27   #5
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

Код:
function fac(n:integer):integer;
begin
  if (n=0) or (n=1) then fac:=1
  else fac:=n*fac(n-1);
end;
...
begin
...
 for i:=1 to n do begin
   s:=0;
   for k:=1 to i do begin
     s:=s+fac(k);
   end;
   writeln('Фактарион ',i,' = ',s);
 end;
...
end.
ИМХО, как я понял!!!
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Старый 24.01.2012, 15:12   #6
rubius2008
Форумчанин
 
Регистрация: 19.03.2010
Сообщений: 409
По умолчанию

Цитата:
Сообщение от arrowsf1 Посмотреть сообщение
Код:
function fac(n:integer):integer;
begin
  if (n=0) or (n=1) then fac:=1
  else fac:=n*fac(n-1);
end;
...
begin
...
 for i:=1 to n do begin
   s:=0;
   for k:=1 to i do begin
     s:=s+fac(k);
   end;
   writeln('Фактарион ',i,' = ',s);
 end;
...
end.
ИМХО, как я понял!!!
Код в моем посте верный, а вот ваш как раз наоборот, читаем внимательно задание!
Есть вопросы, пишите в ЛС.
rubius2008 вне форума Ответить с цитированием
Старый 24.01.2012, 18:35   #7
arrowsf1
Пользователь
 
Аватар для arrowsf1
 
Регистрация: 22.01.2012
Сообщений: 97
По умолчанию

Цитата:
Сообщение от rubius2008 Посмотреть сообщение
Код в моем посте верный, а вот ваш как раз наоборот, читаем внимательно задание!
извините думал сумме факториалов от 1 до числа
Модераторам: не баньте, у мя такие полезные советы, они стоющие
arrowsf1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
турбо паскале tanyalove Помощь студентам 2 19.05.2010 20:10
в турбо паскале tanyalove Помощь студентам 0 18.05.2010 18:17
Решение задачи в Турбо Паскале daemoon1 Помощь студентам 2 13.12.2009 18:08