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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2022, 03:06   #1
дарья50397
Новичок
Джуниор
 
Регистрация: 17.02.2022
Сообщений: 3
По умолчанию Для заданного N найти сумму факториалов от 1! до N!

Дано целое число N > 0, найти сумму
1! + 2! + 3! + ... + N!
Где N! — произведение всех целых чисел от 1 до (N! = 1·2·...·N).
дарья50397 вне форума Ответить с цитированием
Старый 17.02.2022, 05:13   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Название темы должно отражать суть вопроса (поправил). Уточните язык программирования. Что именно не получается сделать? Примерный алгоритм: запросить N, обнулить переменную для суммы, присвоить единицу переменной для текущего значения факториала, в цикле от 1 до N умножать переменную для факториала на счетчик цикла, а затем прибавлять к переменной для суммы, после цикла напечатать переменную для суммы.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 17.02.2022 в 12:34.
BDA вне форума Ответить с цитированием
Старый 17.02.2022, 11:01   #3
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

На незаслуженно презираемом нонче Делфи (Паскале) это звучало бы примерно так:
Код:
var i,N,sum,tmp: integer ;
begin
  sum := 1 ;
  tmp := 1 ;
  for i := 2 to N do
  begin
    tmp := tmp * i ;
    sum := sum + tmp
  end ;
А перевести уже в Ada, PL-I, Кобол - это и кошка смогла бы.
digitalis вне форума Ответить с цитированием
Старый 17.02.2022, 15:48   #4
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

программа выше пока непроверяемая даже онлайн: ничего не выводит без 


write(sum);

Код:
n = 18: DIM f AS DOUBLE: DIM s AS DOUBLE: s = 0 'fact.bas
FOR i = 1 TO n
    f = 1
    FOR j = 1 TO i
        f = f * j
    NEXT
    PRINT i, f
    s = s + f
NEXT
PRINT: PRINT s
END
программа считает каждый факториал сызнова зато доказуемо

из qb64 qbasic на другие языки переводим сами

1
2
6
24
120

153

n до 18 показывает результаты длинные

rosettacode.org/wiki/Factorial
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 17.02.2022 в 16:18.
сфинкс вне форума Ответить с цитированием
Старый 17.02.2022, 19:10   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Спасибо, насмешил. И 2*2 = 4 тоже будем проверять ?
Факториал - AS DOUBLE ? ... Ыххх-м До сих пор я думал, что это - целочисленная функция. Вот век живи - век учись. У Бесика.
https://ru.wikipedia.org/wiki/Факториал
digitalis вне форума Ответить с цитированием
Старый 17.02.2022, 19:54   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
программа считает каждый факториал сызнова зато доказуемо
Пустая трата вычислительных мощностей.

Цитата:
Сообщение от digitalis Посмотреть сообщение
Факториал - AS DOUBLE ?
Оправдано с точки зрения ограничений типов. Дабл больше инта, так что можно считать в дабле, просто имея в виду, что значения у нас целые.

Цитата:
Сообщение от сфинкс Посмотреть сообщение
из qb64 qbasic на другие языки переводим сами
Читаем так: "Я не смог освоить ни один из ЯП, кроме бейсика"
Arigato вне форума Ответить с цитированием
Старый 17.02.2022, 20:11   #7
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Это конечно флуд, но сдержаться сложно
Arigato
Цитата:
Читаем так: "Я не смог освоить ни один из ЯП, кроме бейсика"
Вы глубоко ошибаетесь, полагая, что qb64 qbasic - это и есть бейсик.

PS: Настроение подняла фраза.
И это просто шутка.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 17.02.2022, 21:02   #8
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

DIM f AS DOUBLE цель: число большое именно длинное человеческое
иначе только малые аргументы покажет по-человечески без вида x.y*10^z

могу состряпать то же в эксцель и на c#
и исправил непечатаемость в 1-м примере
ideone.com/jvhJmL

пытаюсь начать изучать эльфийский язык питон
каждый раз спрашивая себя:

зачем мне медленный текстовый ненужный язык?
разве чтобы понимать что другие пишут

главная проблема c# и др. ЯП: гигантское вступление в начале
программ чего в бэйсике и в эксцель не требуется

итого задачка: докажите что число перестановок вычисляет факториал

+ о непечатаемости: добавление казалось бы простейшего в программу
окажется неподъёмным для видящих данный язык впервые

всё одно что получив недоделку на языке абракадабра
пытаться самим доделать и помогают онлайн компиляторы
ведь недовольные версией могут создать версию свою
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 18.02.2022 в 10:46.
сфинкс вне форума Ответить с цитированием
Старый 17.02.2022, 21:39   #9
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Вы глубоко ошибаетесь, полагая, что qb64 qbasic - это и есть бейсик.
Классический бейсик у меня на аватаре. Только сильно сомневаюсь, что еще где-то им до сих пор пользуются...
Arigato вне форума Ответить с цитированием
Старый 18.02.2022, 10:12   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
и исправил непечатаемость в 1-м примере
ideone.com/jvhJmL
О да, это в корне поменяло суть алгоритма Но исправлять - так исправлять. Что же это за безобразие N = 18 ? Уж надо бы Readln (N) . Впрочем, это же не Бесик...
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, пожалуйста, найти ошибку в коде (найти сумму факториалов чётных чисел в заданном диапазоне) kris14 Паскаль, Turbo Pascal, PascalABC.NET 8 25.10.2017 15:42
Для заданного ряда найти сумму N элементов ряда havapeymaK Помощь студентам 7 18.08.2015 09:18
одномерный массив - найти сумму отрицательных меньше заданного числа и количество положительных больше заданного числа ALEXXELA Паскаль, Turbo Pascal, PascalABC.NET 2 02.12.2012 20:13
найти сумму членов ряда с точностью ε для заданного х и их количество (Паскаль) gylayko Помощь студентам 0 12.10.2011 16:50
Для заданного натурального N найти сумму (другая задача) Bombastick Microsoft Office Excel 17 19.12.2010 16:49