Пятница, 29 Марта 2024, 14:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Помогите срочно с задачей на Pascal! (Произведение введённых чисел с клавиатуры.)
Помогите срочно с задачей на Pascal!
Dj_FroZTBiteДата: Воскресенье, 30 Октября 2016, 14:36 | Сообщение # 1
Серебряная душа
Сейчас нет на сайте
Код
var
  count : Integer;
  i : byte;
  number : uint64;
  N : Integer;
begin
  number := 1;
  Readln(count);
  for i:=1 to count do
  begin
    Readln(N);
    number := number * N;
  end;
      Assign(output, 'output.txt' ) ;
      Rewrite(output);
    Writeln(output, number);
end.

Программа должна получить ввод 1. Количества чисел 2. Сами числа 3. Умножить их и вывести ответ в текстовый файл output.txt
Условие - программа должна выполнятся быстрее 1 секунды. Железо нормальное, а выполнение занимает от 1.000 до 1.008 сек.
Помогите ускорить.


Рук нет, есть только кривые культяпки.

Сообщение отредактировал Dj_FroZTBite - Воскресенье, 30 Октября 2016, 14:38
falcowareДата: Воскресенье, 30 Октября 2016, 15:26 | Сообщение # 2
старожил
Сейчас нет на сайте
Dj_FroZTBite, ну одно дело ты вводишь данные с клавиатуры - время ввода явно больше 1 сек.

А если ты введешь отдельно цифры в массив и посчитаешь отдельно - то будет совсем другое дело =)
Dj_FroZTBiteДата: Воскресенье, 30 Октября 2016, 17:06 | Сообщение # 3
Серебряная душа
Сейчас нет на сайте
falcoware, числа не заданы. Условия задачи требуют выполнения программы при любых заданных числах.
Я, конечно, могу убрать с клавиатуры, но будет ли все работать, если данных нет вообще?


Рук нет, есть только кривые культяпки.
falcowareДата: Воскресенье, 30 Октября 2016, 17:10 | Сообщение # 4
старожил
Сейчас нет на сайте
Dj_FroZTBite,
var
count : Integer;
i : byte;
number : uint64;
N : Integer;
ArNumbers: Array[1..256];
begin
number := 1;
Readln(count);
for i:=1 to count do
begin
Readln(ArNumbers[i]);
end;
for i:=1 to count do
number := number * ArNumbers[i];
end;
Assign(output, 'output.txt' ) ;
Rewrite(output);
Writeln(output, number);
end.

Можно так? Тогда выполнение умножений будет куда быстрее =)
Dj_FroZTBiteДата: Воскресенье, 30 Октября 2016, 19:32 | Сообщение # 5
Серебряная душа
Сейчас нет на сайте
falcoware, спасибо большое за помощь.
В цикле забыли begin влепить, исправил.


Рук нет, есть только кривые культяпки.
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Помогите срочно с задачей на Pascal! (Произведение введённых чисел с клавиатуры.)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг