Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2009, 23:32   #1
semennn
Пользователь
 
Регистрация: 28.03.2009
Сообщений: 28
По умолчанию делители

надо найти кол-во делителей числа при (1<=n<=10^18) на Паскале
Вот мой вариант . Медленно работает при n=10^18
Код:
 
  read(n);
  i:=1;
  while i*i<=n do
  begin
  if n mod i=0
  then if i=n div i
  then p:=p+1
  else p:=p+2;
  inc(i);
  end;
  end;
write(p)

Последний раз редактировалось Stilet; 30.03.2009 в 08:41.
semennn вне форума Ответить с цитированием
Старый 31.03.2009, 00:21   #2
Костя КС
Пользователь
 
Аватар для Костя КС
 
Регистрация: 22.01.2008
Сообщений: 78
По умолчанию

мой вариант.

Код:
begin
p := 0;
readln(n);
for i:=1 to n do
begin
  if n mod i = 0 then p:=p+1;
end;
writeln(p);
end.

Последний раз редактировалось Костя КС; 31.03.2009 в 00:26.
Костя КС вне форума Ответить с цитированием
Старый 02.04.2009, 23:48   #3
semennn
Пользователь
 
Регистрация: 28.03.2009
Сообщений: 28
По умолчанию

Извини но ни чо что у тебя на корень из N больше повторений в цикла а???
semennn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разложение числа на простые делители PROFI_I Общие вопросы Delphi 2 09.12.2008 18:17
решение уравнения решить по схеме Горнора или через делители свободного члена chroMe Помощь студентам 2 22.10.2008 22:32