![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Написать программу, позволяющую вычислить с помощью цикла:k*(k+1)*(k+2)*...*2k, где k задается с клавиатуры.
|
|
#2
|
|||
|
|||
|
На форму два Edti'а: Edit1 и Edit2. И кнопочку.
Код:
var
i, k, R: Cardinal;
begin
k := StrToInt(Edit1.Text);
R := k;
for i := 1 to k do
R := R * (k + i)
Edit2.Text := IntToStr(R);
end; |
|
#3
|
|||
|
|||
|
а по конкретней можешь написать(с объяснениями)????????пжлст!!!!!!!!!
|
|
#4
|
|||
|
|||
|
ох ёп, куда ещё проще может быть?
|
|
#5
|
|||
|
|||
|
Код:
var
i, //Счетчик цикла
k, //Собственно, наш параметр k
R: Cardinal; //Результат
begin
{ Получаем значение k из текстового поля }
k := StrToInt(Edit1.Text);
{ Устанавливаем начальное значение переменной R }
R := k;
{ Наша цель - произвести k умножений. Начальное значение R у нас уже есть - это k. Затем умножаем на (k+i), первое значение k равно 1, т.е. получаем R*(k+1). Второе значение k равно 2, и то, что у нас получилось до этого - R*(k+1), мы умножаем на (k+2) - выходит R*(k+1)*(k+2). Ну и так далее, i после каждого умножения увеличивается на единицу, конечное значение перменной i - k. ВОт таким и будет последний множитель - (k+k) или (2*k) }
for i := 1 to k do
R := R * (k + i)
Edit2.Text := IntToStr(R);
end;Что еще можно сказать об этой "гениальной" программе - результат растет очень быстро с ростом k (быстрее факториала), поэтому быстро произойдет переполнение разрядной сетки. Лучше R объявить как Int64: Код:
var
i, k: Cardinal;
R: Int64;
begin
k := StrToInt(Edit1.Text);
R := k;
for i := 1 to k do
R := R * (k + i)
Edit2.Text := IntToStr(R);
end;Последний раз редактировалось Raskolnikov, 26.04.2011 в 20:01. |
|
#6
|
|||
|
|||
|
у меня ошибку выдает!
|
|
#7
|
|||
|
|||
|
поставьте после:
Код:
R := R * (k + i) |
|
#8
|
|||
|
|||
|
Edit2.Text
ошибку выдает здесь)= IntToStr(R); |
|
#9
|
|||
|
|||
|
Да, верно, точку с запятой забыл.
![]() |
|
#10
|
|||
|
|||
|
я поставил,все равно ошибку выдает
|
|
#11
|
|||
|
|||
|
Давай так попробуем, готовый проект.
|
|
#12
|
|||
|
|||
|
вроде работает,только я ничего не пойму
|
|
#13
|
|||
|
|||
|
Что ты не поймешь? Тут девять строк кода. Какие из них тебе непонятны?
|