Оптимизация кода - Pascal (47747)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста. Такая проблема всплыла, нужно оптимизировать код, чтобы он выполнялся за 1 секунду, но идей как это сделать 0 На входных данных там целое число n, 1≤n≤10^9. Программа выводит количество различных натуральных делителей числа n
var 
i,a,n:integer; 
begin 
read(a); 
n:=0; 
for i:=1 to a do 
if a mod i=0 then 
n:=n+1;
writeln(n); 
end.

Решение задачи: «Оптимизация кода»

textual
Листинг программы
var a: Longint; n, q, i: Integer;
begin
  Read(a); q:=Trunc(SqRt(a));
  for i:=1 to q do if a mod i=0 then Inc(n,2);
  if Sqr(q)=a then Dec(n);
  WriteLn(n);
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.222 из 5