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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2016, 19:00   #1
richard.hendricks
 
Регистрация: 16.02.2016
Сообщений: 6
По умолчанию Программа, выписывающая числа, делящий на вводимое пользователем число без остатка

Суть программы я написал в названии темы. Вот, собственно, код. Буду рад, если вы поможете исправить ошибки.
Код:
uses crt;
var a, n : integer;
procedure varp;
var a, n : integer;
begin
for a:=1 to 1000 do begin
if n mod a = 0 then writeln (a);
end;
end;
begin
writeln ('Введите число'); readln (n);
varp; 
end.
richard.hendricks вне форума Ответить с цитированием
Старый 16.02.2016, 20:55   #2
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Напутали с глобальными и локальными переменными. Зачем создавать глобальную переменную a, и локальную переменную a.
Код:
procedure varp(n:integer);
var i:integer;
begin
for i:=1 to 1000 do 
if n mod i = 0 then Writeln(i);
end;
var n:integer;
begin
Readln(n);
varp(n);
end.
dimon_snake вне форума Ответить с цитированием
Старый 16.02.2016, 21:08   #3
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

лучше через цикл while.
Код:
  a:=1;
  while (n >= a) do
  begin
    if n mod a = 0 then
      writeln(a);
    inc(a);
  end;
FPaul вне форума Ответить с цитированием
Старый 17.02.2016, 17:49   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Возможно, что тема и не актуальна, но всё же.
Нафига искать делители во всём диапазоне?
Если найден делитель a, т.е. n MOD a = 0, то найден и второй делитель: n DIV a.
Т.о. цикл может быть организован до sqrt(n) и начинаться с двойки.


Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длинная арифметика и системы счисления (программа перевода из двоичной (вводимое число до 100 знаков) в другую СС (4-19) [C++] Virts Помощь студентам 0 10.10.2014 19:07
Программа, которая проверяет является ли введенное пользователем число простым С++ программирование Помощь студентам 3 23.01.2014 06:22
Деление числа без остатка grom333 Общие вопросы Delphi 6 18.01.2012 22:28
Как узнать что число не Float(без остатка) при результате деления? zotox Помощь студентам 7 19.07.2009 15:49
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43