0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 23
1

Как в цикле увеличивать значение факториала?

15.01.2010, 16:01. Показов 989. Ответов 8
Метки нет (Все метки)

Я уже третий день голову ломаю...Даны натуральное число n, действительные чиcла a1,a2..an. (a1-число а с индексом 1 и т.д.)
Вычислить a1+1!, a2+2!, an+n!. Как в цикле увеличивать значение факториала? И насколько я понял массив заполняется случайно. Никак не могу придумать чтобы факториал сам прибовлялся и считался в цикле. Помогите плиз
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2010, 16:01
Ответы с готовыми решениями:

Как цикле первым N одно значение, следующим увеличивать
Здравствуйте. Подскажите пожалуйста, нужно в цикле первым трем поставить 1, вторым трём 2, третьим...

Необходимо увеличивать значение h в цикле
Как решить задачу? Необходимо увеличивать значение h в цикле class Program { static...

Excel: увеличивать значение переменной в цикле
Добрый день всем! Помогите нужна помощь по написании программы в basic. Суть такая есть две...

Как увеличивать значение переменной в БД каждую минуту?
Всем привет. Как увеличивать значение переменной в БД каждую минуту на +1? Помогите простым...

8
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
15.01.2010, 16:12 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
uses crt;
var
a:array[1..100]of real;
n,i,f:integer;
s:real;
begin clrscr;
write('n=');
read(n);
for i:=1 to n do
 begin
  write('a[',i,']=');
  read(a[i]);
 end;
f:=1;
s:=0;
for i:=1 to n do
 begin
  f:=f*i;
  s:=a[i]+f;
  writeln(a[i]:2:2,'+',i,'!=',s:2:2);
 end;
readkey;
end.
Добавлено через 53 секунды
Цитата Сообщение от GreatPiraT Посмотреть сообщение
И насколько я понял массив заполняется случайно.
нет... random использовать в Вашей задаче нельзя.
1
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
15.01.2010, 16:16 3
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program zad4;
uses crt;
var
   a:array[1..100] of integer;
   i,j,n,ft:integer;
begin
  clrscr;
  randomize;
  write('Ðàçìåðíîñòü ìàññèâà: ');
  readln(n);
  writeln('Ôîðìèðîâàíèå ìàññèâà...');
  for i:=1 to n do
   begin
    a[i]:=random(20)-9;
    write(a[i]:4);
   end;
  writeln;
  writeln('New massiv');
  for i:=1 to n do
   begin
    ft:=1;
    for j:=1 to i do
     ft:=ft*j;
    a[i]:=a[i]+ft;
    writeln(a[i]);
   end;
  readln;
end.
Добавлено через 42 секунды
Тамила, почему рандом нельзя использовать?
1
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
15.01.2010, 16:22 4
Цитата Сообщение от vad2211 Посмотреть сообщение
Тамила, почему рандом нельзя использовать?
по заданию.

Добавлено через 14 секунд
Цитата Сообщение от GreatPiraT Посмотреть сообщение
действительные чиcла a1,a2..an.
вот.
0
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
15.01.2010, 16:27 5

Не по теме:

не внимательное чтение задания


Ну ладно, допустим вещественные данные даны, но это же ведь все равно не мешает нам воспользоваться рандомом:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program zad4;
uses crt;
var
   a:array[1..100] of real;
   i,j,n,ft:integer;
begin
  clrscr;
  randomize;
  write('Ðàçìåðíîñòü ìàññèâà: ');
  readln(n);
  writeln('Ôîðìèðîâàíèå ìàññèâà...');
  for i:=1 to n do
   begin
    a[i]:=1/random;
    write(a[i]:6:2);
   end;
  writeln;
  writeln('New massiv');
  writeln;
  for i:=1 to n do
   begin
    ft:=1;
    for j:=1 to i do
     ft:=ft*j;
    a[i]:=a[i]+ft;
    writeln(a[i]:6:2);
   end;
  readln;
end.
1
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
15.01.2010, 16:32 6
Цитата Сообщение от vad2211 Посмотреть сообщение
Ну ладно, допустим вещественные данные даны, но это же ведь все равно не мешает нам воспользоваться рандомом
в моей программе пользователь сам вводит данные.
0
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
15.01.2010, 16:34 7
Или, к примеру:
Pascal
1
a[i]:=random(1001)/(1+random(1000))
В знаменателе мы сдвигаем число на 1, чтобы не получилось того что придется делить на ноль.
0
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 23
15.01.2010, 17:00  [ТС] 8
Спасибо огромное вам обоим, я погляжу как что делается, и хоть узнаю какие коды использовать.
0
119 / 119 / 41
Регистрация: 21.12.2009
Сообщений: 194
15.01.2010, 17:25 9
GreatPiraT, может пригодится.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program zad4; {название программы}
uses crt;{подключаем модуль crt}
var  {раздел операторов}
   a:array[1..100] of real;{массив вещественных чисел}
   i,j,n,ft:integer;{переменные целого типа}
begin  {начало программы}
  clrscr;{процедура Очистки экрана}
  randomize;{включаем модуль генератора случайных чисел}
  write('Размерность массива: ');{указываем размер массива}
  readln(n); {читаем переменную n}
  writeln('Формирование массива...');
  for i:=1 to n do {начало: формирование массива}
   begin
    a[i]:=random(1001)/(1+random(1000));{рандомное заполнение i-ого элемента массива}
    write(a[i]:6:2);{выводим его на экран; 6:2 - это формат вывода, 6 знаков до зопятой, 2 знака после}
   end; {конец: формирование массива}
  writeln; {делаем новую строка (абзац)}
  writeln('New massiv'); {выводим сообщение}
  writeln;{делаем новую строку (абзац)}
  for i:=1 to n do{начало: преобразовываем массив}
   begin
    ft:=1;{переменная в которую записывается факториал числа i}
    for j:=1 to i do{цикл для вычисления факториала}
     ft:=ft*j;{считаем факториал числа i}
    a[i]:=a[i]+ft;{элементу массива a[i] присваеваем новое значение}
    writeln(a[i]:6:2);{выводим его на экран}
   end;{коне: преобразование массива}
  readln; {конец программы завериштся после того,как будет нажата любая клавиша,актуально для консольных трансляторов}
end. {конец}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.01.2010, 17:25

Гонки Прогресс баров, как увеличивать значение неодинаково для всех
Может быть вопрос глупый, но я загорелся идей сделать программу «Гонки Прогресс баров». Не...

Как при удержании кнопки Up или Down автоматически увеличивать или уменьшать значение в TextBox?
Элемент управления UpDown. Как при удержании кнопки Up или Doun автоматически увеличивать или...

Как увеличивать значение в ячейке на разницу в другой ячейке
В файле "Пример" на листе "Материалы" в столбце "В наличии" в начале месяца вносятся в ручную...

Как присвоить значение переменной если значение позже устанавливается в цикле?
Кратко: if($_SESSION != ""){ $row = mysql_num_rows(mysql_query("...")); if($row > 0) $panel...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.