Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/47: Рейтинг темы: голосов - 47, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7

Подсчитать общее количество делителей натурального числа

31.05.2016, 20:54. Показов 8764. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Помогите пожалуйста с написанием программы на языке Паскаль.
Вот условие, по которому нужно написать программу
Дано натуральное число. Подсчитать общее количество его делителей.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2016, 20:54
Ответы с готовыми решениями:

Найти количество делителей натурального числа, больших К
Найти количество делителей натурального числа, больших К. К задается.

Найти количество нечетных делителей натурального числа, больших K
Найти количество нечетных делителей натурального числа,больших K(К вводить с клавиатуры).Заранее большое спасибо!!!!

Подсчитать общее число делителей
Определить победителя. Два школьника записывают по одному натуральному числу подсчитать общее число делителей, победит тот школьник, у...

7
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
31.05.2016, 21:25
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var i, n, count : word;
 
begin
      readln(n);
      count := 0;
      i:= 0;
      While (i<n) do
            begin
                 i:=i+1;
                 if n mod i = 0 then Inc(count);
            end;
      writeln(count);
end.
1
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
31.05.2016, 23:44
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

SW Developer, ты забыл, что само число на себя делится, это тоже делитель!
нужно
Pascal
1
While (i<=n) do
но я бы взял другой цикл
Pascal
1
2
3
4
5
6
7
8
9
var i, n, count : word;
 
begin
      readln(n);
      count := 1;
      for i:=1 to (n div 2) do 
              if n mod i = 0 then Inc(count);
      writeln(count);
end.
1
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
01.06.2016, 13:19
Ничего я не забыл! Хорошо проанализируйте код!
А на цикл for у меня компилятор ругается: "Ошибка: переменная цикла for должна иметь тип integer, char, byte, интервальный или перечислимый.
0
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
01.06.2016, 13:38
Вот, кстати, скриншот справки по PascalABC:
Миниатюры
Подсчитать общее количество делителей натурального числа  
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
01.06.2016, 22:37
Цитата Сообщение от SW Developer Посмотреть сообщение
А на цикл for у меня компилятор ругается: "Ошибка: переменная цикла for должна иметь тип integer, char, byte, интервальный или перечислимый.
Это заморочки Pascal ABC. Word у него не целочисленная и не перечисляемый тип!

ну так сделай переменную i типа integer;
Pascal
1
2
3
4
5
6
7
8
9
var  n, count : word;
  i:integer;
begin
      readln(n);
      count := 1;
      for i:=1 to (n div 2) do
              if n mod i = 0 then Inc(count);
      writeln(count);
end.
Цитата Сообщение от SW Developer Посмотреть сообщение
Ничего я не забыл! Хорошо проанализируйте код!
Ты прав, извини, я проглядел, что ты сначала наращиваешь переменную, а потом уже проверяешь делимость на это число.
0
 Аватар для SW Developer
97 / 93 / 81
Регистрация: 10.01.2016
Сообщений: 663
Записей в блоге: 13
02.06.2016, 14:57
Sergio Leone,
Pascal
1
for i:=1 to (n div 2) do
Спасибо за алгоритм! Ты до меня достучался.
1
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
03.06.2016, 08:50
угу. ты понял. возьмём n=1000 (разумеется, чем больше число, тем нагляднее).
у тебя перебор идёт n раз (1000 циклов).
в моём примере идёт n/2 (500 циклов)
на самом деле, для поиска делителей достаточно искать до корня из N (т.е. достаточно 100 циклов - только тогда нужно при нахождении каждого делителя добавлять к счётчику делителей 2 (если есть делитель меньше корня из N, значит, есть ему симметричный больше корня!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2016, 08:50
Помогаю со студенческими работами здесь

Для заданного натурального числа N определить, у какого числа больше делителей
begin write('Введите N:');readln(n); for i:=1 to n do begin kk:=0; for j:=2 to i-1 do if i mod j=0 then...

Составьте программу подсчёта числа составных делителей натурального числа М
Составьте программу подсчёта числа составных делителей натурального числа М пожалуйста, очень надо!!! :-* пс: если вы готовы мне...

Подсчитать общее количество делителей натурального числа
Дано натуральное число подсчитать общее количество его делителей. Нужна программа и блок-схема.

Найти количество нечетных делителей натурального числа
1. Найти количество нечетных делителей натурального числа, меньших K (К вводить с клавиатуры). 2. Найти все натуральные числа x, y и z из...

Подсчитать количество простых чисел в десятичной записи натурального числа n
Составить программу, которая подсчитывает количество простых чисел в десятичному записи натурального числа n. Напечатать числа, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru