0 / 0 / 0 Регистрация: 19.02.2013 Сообщений: 10 |
|
1 |
|
Вычислить сумму факториалов19.02.2013, 17:41. Показов 25938. Ответов 6
ВЫЧИСЛИТЬ P=1+(1*2)+(1*2*3) +(1*2*3*…R)
0 |
Новичок 1642 / 1091 / 487 Регистрация: 17.07.2012 Сообщений: 5,345 |
||||
19.02.2013, 17:57 |
2 |
|||
Вычислите пожалуйста Возьми калькулятор и вычисляй. Добавлено через 10 минут
1 |
AllexVD 0 / 0 / 0 Регистрация: 02.02.2013 Сообщений: 3 |
||||
19.02.2013, 18:21 |
3 |
|||
Рекурсия:
0 |
Новичок 1642 / 1091 / 487 Регистрация: 17.07.2012 Сообщений: 5,345 |
||||
19.02.2013, 18:26 |
4 |
|||
AllexVD,нормальный вариант,раньше так-же делал подобные задачи,но проще мой вариант с одним циклом. Добавлено через 1 минуту
Добавлено через 17 секунд
1 |
Почетный модератор 64287 / 47586 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
19.02.2013, 18:43 |
5 |
Рекурсия: И рядом не лежало…
1 |
1642 / 1091 / 487 Регистрация: 17.07.2012 Сообщений: 5,345 |
|
19.02.2013, 18:46 |
6 |
Puporev,если честно знаю приблизительно,что такое рекурсия,но какие алгоритмы являются рекурсивными не понимаю и не отличаю их.
0 |
Puporev Почетный модератор 64287 / 47586 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
19.02.2013, 19:12 |
7 |
|||
В рекурсии нет циклов, например факториал
1 |
Форум программистов Vingrad
Модераторы: Poseidon |
Поиск: |
|
[pascal] сумма факториалов n чисел, 1!+2!+3!+…+n! |
Опции темы |
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
Доброго времени суток!Помогите решить школьную задачу. найти сумму факториалов n чисел. 1!+2!+3!+…+n! За ранее благодарен! |
||
|
|||
Rodman |
|
||
CIO Профиль
Репутация: 26
|
а какого типа переменную ты хошь использовать?! у тебя в паскале не хватит ресурсов!
——————— CRM с функцией АвтоОбзвона Лотереи мира |
||
|
|||
Rrader |
|
||
Inspired =) Профиль Репутация: 14
|
Так быстрее, чем Rodman предложил… Это сообщение отредактировал(а) Rrader — 18.3.2008, 11:34 ——————— Let’s do this quickly! |
||
|
|||
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
Спасибо большое, но мне вроде бы надо попроще, мы только что прошли вложенные циклы, а число n наверное не больше 10 должно быть так что word подойдет. если через вложенные циклы? получится? |
||
|
|||
Rodman |
|
||
CIO Профиль
Репутация: 26
|
может так, проверить не могу! ——————— CRM с функцией АвтоОбзвона Лотереи мира |
||
|
|||
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
Вот!!! то что нужно! СПАСИБО ОГРОМНОЕ! ВЫРУЧИЛИ! |
||
|
|||
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
Вот еще вопрос а что такое Inc? без него никак нельзя а то мне этого еще не преподавали! |
||
|
|||
THandle |
|
||
Хранитель Клуба Профиль
Репутация: 30
|
xF1x, |
||
|
|||
Rodman |
|
||
CIO Профиль
Репутация: 26
|
процедура inc(x) — увеличивает X на единицу (противоположная процедура dec) если в INC есть второй параметр inc(x, z) — то к X прибавляется значение Z ——————— CRM с функцией АвтоОбзвона Лотереи мира |
||
|
|||
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
Program MyProgram; Все равно не работает пишет сумма равна 0 |
||
|
|||
ama_kid |
|
||
АСУТП-кодер Профиль
Репутация: 16
|
вместо I:=I+1 напиши Sum:=Sum+F; ——————— самурай без меча подобен самураю с мечом, но только без меча |
||
|
|||
xF1x |
|
||
Шустрый Профиль Репутация: 0
|
СПАСИБО ОГРОМНОЕ! ВСЕ РАБОТАЕТ!!!! |
||
|
|||
|
Правила форума «Центр помощи» | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Центр помощи | Следующая тема » |
Задать вопрос
Задавайте вопросы и получайте ответы от нашего сообщества
Отвечать
Отвечайте на вопросы и станьте экспертом в своей теме
Связаться с нами
Наши специалисты готовы ответить на ваши вопросы
Pascal Сумма факториалов.
-
Автор темы
Sherlock
-
Дата начала
06.04.2016
-
Ответы
8 -
Просмотры
4K -
-
Теги
-
paskal
паскал
факториал
-
О теме
Здравствуйте, вы читаете тему Сумма факториалов. созданную в 06.04.2016 в разделе
Delphi, Pascal пользователем
Sherlock.
Эта тема была просмотрена 3 633 раз(а),
получила 8 комментариев и 1 очки реакции…
Название категории
Delphi, Pascal
Название темы
Сумма факториалов.
Количество реакций к первому сообщению
- Регистрация
- 12.05.2015
- Сообщения
- 6
- Реакции
- 1
- Баллы
- 0
-
- Автор темы
-
#1
Задача: Дано натуральное число N (N>0). Используя один цикл, найти сумму 1!+2!+3!+…+N!.
(Выражение N!-N факториал-обозначает произведение всех целых чисел 1 до N: N!=1*2*3…*N)
Решения:
- Регистрация
- 07.04.2016
- Сообщения
- 2
- Реакции
- 0
- Баллы
- 0
-
-
#2
program Factorial;
var
Sum,Fact:longint;
I,N:byte;
begin
write(‘Введите число N=’); readln(N);
if I<1 then writeln(‘Число должно быть > 0’) else begin
Sum:=1;
Fact:=1;
for I:=1 to N do begin
Fact:=Fact*I;
Sum:=Sum+Fact;
end;
writeln(‘Сумма = ‘,Sum);
end;
readln;
end.
- Регистрация
- 12.05.2015
- Сообщения
- 6
- Реакции
- 1
- Баллы
- 0
-
- Автор темы
-
#3
Это программа не работающий )
Последнее редактирование: 07.04.2016
- Регистрация
- 12.03.2015
- Сообщения
- 899
- Реакции
- 452
- Баллы
- 35
- Адрес
-
mySQL
-
- Администратор
- Команда форума
-
#4
Не будет ли правильно вот так
- Регистрация
- 12.05.2015
- Сообщения
- 6
- Реакции
- 1
- Баллы
- 0
-
- Автор темы
-
#5
Будет, но задаче написано что надо решат с одним циклом )
- Регистрация
- 12.03.2015
- Сообщения
- 899
- Реакции
- 452
- Баллы
- 35
- Адрес
-
mySQL
-
- Администратор
- Команда форума
-
#6
Извиняюсь не правильно прочитал .
- Регистрация
- 07.04.2016
- Сообщения
- 2
- Реакции
- 0
- Баллы
- 0
-
-
#7
Я ошиблась при наборе текста. В «If I<1» нужно «if N<1″». Приношу свои извинения.
- Регистрация
- 12.03.2015
- Сообщения
- 899
- Реакции
- 452
- Баллы
- 35
- Адрес
-
mySQL
-
- Администратор
- Команда форума
-
#8
Если что код можете проверит здесь
- Регистрация
- 12.05.2015
- Сообщения
- 6
- Реакции
- 1
- Баллы
- 0
-
- Автор темы
-
#9
Ничего страшного )
———- Сообщение добавлено в 22:33 ———- Предыдущее сообщение было в 22:33 ———-
Вот, точно ) теперь работает.
Приветствуем читателей нашего сайта! Сегодня мы с вами решим задачи for16-24.
For16°. Дано вещественное число A и целое число N (> 0). Используя один цикл, вывести все целые степени числа A от 1 до N.
Заводим специальную переменную, в которую будем записывать новое значение степени.
program for16; var A, Pow: real; N, i: integer; begin write('Введите A и N: '); read(A, N); Pow := 1; for i := 1 to N do begin Pow := Pow * A; // Умножаем предыдущее число на А writeln(A, ' в ', i, ' степени равно ', Pow); end; end.
For17. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму 1 + A + A2 + A3 + … + AN.
Модифицированная версия for16. В этой задаче мы не выводим значения степеней сразу, а складываем их в отдельную переменную.
program for17; var A, Pow, Sum: real; N, i: integer; begin write('Введите A и N: '); read(A, N); Pow := 1; Sum := 1; for i := 1 to N do begin Pow := Pow * A; // Узнаем следующую степень числа А Sum := Sum + Pow; // Увеличиваем сумму на эту степень end; write('Сумма 1 +... + A в степени N равно ', Sum); end.
For18. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения 1 – A + A2 – A3 + … + (–1)N·AN. Условный оператор не использовать.
Используем дополнительную переменную, например, Z. Присваиваем значение -1 и каждый цикл умножаем значение степени на Z.
program for18; var A, Pow, Sum: real; N, i, Z: integer; begin write('Введите A и N: '); read(A, N); Pow := 1; Sum := 1; Z := -1; // Присваиваем -1 for i := 1 to N do begin Pow := Pow * A; Pow := Z * Pow; // Умножаем значение степени. Sum := Sum + Pow; end; write('Сумма равна ', Sum); end.
For19°. Дано целое число N (> 0). Найти произведение N! = 1·2·…·N (N–факториал). Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и вывести его как вещественное число.
Каждую итерацию цикла умножаем factorial на i.
program for_19; var factorial: real; i, N: integer; begin read(N); factorial := 1; // По определению 0! = 1 for i := 1 to N do factorial := factorial * i; write(factorial); end.
For20°. Дано целое число N (> 0). Используя один цикл, найти сумму 1! + 2! + 3! + … + N! (выражение N! — N–факториал — обозначает произведение всех целых чисел от 1 до N: N! = 1·2·…·N). Чтобы избежать целочисленного переполнения, проводить вычисления с помощью вещественных переменных и вывести результат как вещественное число.
Получая новое значение факториала, суммируем его со всеми предыдущими значениями.
program for_20; var factorial, sum_factorial: real; i, N: integer; begin read(N); factorial := 1; sum_factorial := 1; // По определению 0! = 1 for i := 1 to N do begin factorial := factorial * i; // Узнаем фокториал sum_factorial := sum_factorial + factorial; // Суммируем end; write('Сумма факториалов - ', sum_factorial); end.
For21. Дано целое число N (> 0). Используя один цикл, найти сумму 1 + 1/(1!) + 1/(2!) + 1/(3!) + … + 1/(N!) (выражение N! — N–факториал — обозначает произведение всех целых чисел от 1 до N: N! = 1·2·…·N). Полученное число является приближенным значением константы e = exp(1).
Задача аналогична предыдущей, только на этот раз мы делим единицу на значение факториала, и после этого складываем их.
program for_21; var factorial, sum_factorial: real; i, N: integer; begin read(N); factorial := 1; sum_factorial := 1; for i := 1 to N do begin factorial := factorial * i; sum_factorial := sum_factorial + 1 / factorial; // Делим 1 на факториал end; writeln('Сумма факториалов, деленных на 1 = ', sum_factorial, ' = ', Exp(1)); // Проверка программы. end.
For22. Дано вещественное число X и целое число N (> 0). Найти значение выражения 1 + X + X2/(2!) + … + XN/(N!) (N! = 1·2·…·N). Полученное число является приближенным значением функции exp в точке X.
program for_22; var factorial, sum_factorial, x: real; i, N, b: integer; begin write('Введите N: '); readln(N); write('Введите x: '); readln(x); b := x; factorial := 1; sum_factorial := 1; for i := 1 to N do begin factorial := factorial * i; // Узнаем факториал sum_factorial := sum_factorial + x / factorial; // Складываем, деля х на факториал x := x * b; // возводим значение х в следующую степень end; writeln('Сумма факториалов, деленных на X в степенях = ', sum_factorial, ' = ', Exp(x)); // проверка end.
For23. Дано вещественное число X и целое число N (> 0). Найти значение выражения X – X3/(3!) + X5/(5!) – … + (–1)N·X2·N+1/((2·N+1)!) (N! = 1·2·…·N). Полученное число является приближенным значением функции sin в точке X.
Я решил, что лучше высчитывать каждую степень х и каждый факториал, а затем проверять i на четность.
program for_23; var factorial, sum_factorial, x, xs: real; i, N, z: integer; begin write('Введите N: '); readln(N); write('Введите x: '); readln(x); factorial := 1; sum_factorial := 0; // начальное значение на этот раз не 1. z := -1; xs := 1; // значение степени х for i := 1 to 2 * N + 1 do begin factorial := factorial * i; // значение факториала xs := xs * x; // степень х if i mod 2 <> 0 then // проверяем нечетность i begin z := -z; // меняем знак z sum_factorial := sum_factorial + z * (xs / factorial); end; end; writeln('Сумма факториалов = ', sum_factorial, ' = ', sin(x)); //проверка end.
For24. Дано вещественное число X и целое число N (> 0). Найти значение выражения 1 – X2/(2!) + X4/(4!) – … + (–1)N·X2·N/((2·N)!) (N! = 1·2·…·N). Полученное число является приближенным значением функции cos в точке X.
Аналогична предыдущей задачи.
program for_24; var factorial, sum_factorial, x: real; i, N, z: integer; begin write('Введите N: '); readln(N); write('Введите x: '); readln(x); factorial := 1; sum_factorial := 1; // стартовое значение снова 1 z := 1; for i := 1 to 2 * N do begin factorial := factorial * i; if i mod 2 = 0 then begin z := -z; x := x * x; sum_factorial := sum_factorial + z * (x / factorial); end; end; writeln('Сумма факториалов = ', sum_factorial, ' = ', cos(x)); // проверка end.
Все! Сегодня были непростые задачи, но я надеюсь, что вы справились. Если у вас возникли вопросы пишите нам сюда или в комментарии, которые расположены чуть ниже.
uses crt; var i,m,n:integer; p,s:longint; begin clrscr; write('M N -> '); readln(m,n); p:=1; for i:=1 to m do p:=p*i; s:=p; for i:=m+1 to n do begin p:=p*i; s:=s+p; end; writeln('S=',s); readln; end.
Похожие записи/страницы:
- На вход подается последовательность, оканчивающаяся нулем. Kak определить какое кол-во факториалов в этой…
- Составить программу, которая среди всех трехзначных чисел находит числа, равные сумме факториалов своих цифр -…
- Дано натуральное число. Найти число, получаемое из исходного заменой всех его четных чисел на двойки — Pascal(Паскаль)
- Проверить, является ли заданная целочисленная матрица A(N, N) «магическим квадратом» — Pascal(Паскаль)
- Вычисление суммы положительных чисел, введенных с клавиатуры — Pascal(Паскаль)
- Вычисление суммы максимального и минимального из последовательно вводимых чисел, рассматриваются только чётные числа.…
- Нахождение суммы всех чётных чисел от 0 до 100 — Pascal(Паскаль)
- Задано натуральное N. Вычислить сумму 1!+2!+3!+…+N! — Pascal(Паскаль)