0 / 0 / 0
Регистрация: 01.12.2008
Сообщений: 16
1

дано натуральное число. получить массив его делителей

01.12.2008, 17:56. Показов 1425. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
дано натуральное число. получит массив его дилителей.Как делать я что-то туплю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.12.2008, 17:56
Ответы с готовыми решениями:

Дано натуральное число n. Найти сумму его делителей
Дано натуральное число n. Найти сумму его делителей

Дано натуральное число, найти сумму всех его натуральных делителей
1.) Процедуры и функции. Даны отрезки a,b,c,d для каждой тройки этих отрезков, из которых можно...

Дано натуральное число n получить наименьшее число вида 2^x превосходящее n
Дано натуральное число n получить наименьшее число вида 2^x превосходящее n. Не получается. ...

Дано натуральное число n, получить наименьшее число вида 2^r, прувосходящее n
Дано натуральное число n, получить наименьшее число вида 2^r, прувосходящее n!!!!!!!!!!!!!!!!!!

7
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.12.2008, 18:21 2
Берешь число N.
Cначала делителей 0. k:=0;
В цикле от 1 до корня из N (больше не имеет смысла)
for i:=1 to round(sqrt(N)) do
проверяешь все числа и выбираешь те, на которые N делится без остатка.
Эти числа записываешь в массив.
if N mod i=0 then
begin
k:=k+1;
m[k]:=i;
end;
Потом выводишь массив на экран обычным способом.
for i:=1 to k do
write(m[i],' ');
0
0 / 0 / 0
Регистрация: 01.12.2008
Сообщений: 16
01.12.2008, 19:30  [ТС] 3
for i:=1 to round(sqrt(N)) do round что это значит?
0
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.12.2008, 19:33 4
Это функция округления вещественного числа до целого.
0
0 / 0 / 0
Регистрация: 01.12.2008
Сообщений: 16
01.12.2008, 19:42  [ТС] 5
Puporev, обьясни пожалуйста почеме не имеет смысла брать число в массиве >sqrt(N)
0
NorsaG
01.12.2008, 21:10 6
в принципе тут будет достаточно обычного цикла

Pascal
1
2
3
4
5
6
7
for i:=1 to n do
  if (n div i)=0
   then
    begin
     j:=j+1;
     m[j]:=i;
    end;
число натуральное - значит оно целое (ну эт помоему =) )
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
01.12.2008, 21:27 7
1. Потому что например число 25 не мжет делится больше чем на 5, зачем проверять 6, 7, 8...
2. Смотри пункт1. Нафига крутить цикл например при N=1 000 000 до 1 000 000, если достаточно до 1 000.
0
0 / 0 / 0
Регистрация: 01.12.2008
Сообщений: 16
01.12.2008, 21:49  [ТС] 8
Спасибо за помощь! Еще вопросик программа работает но правильно ли напимана?



Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program qwerty;
var n,k,i: longint;
m:array [1..1] of byte;              :umnik: смущает вторая 1 в массиве
begin
writeln ('vvedite n');
readln (n);
k:=0;
for i:=1 to n do
if n mod i=0 then
begin
k:=k+1;
m[k]:=i;
end;
for i:=1 to k do
writeln (m[i],'');
end.
Добавлено через 10 минут 28 секунд
Я понял! забыл const написать
0
01.12.2008, 21:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2008, 21:49
Помогаю со студенческими работами здесь

Дано натуральное число N. Получить наименьшее число вида 4k, меньшее N.
Дано натуральное число N. Получить наименьшее число вида 4k, меньшее N.

Дано натуральное число n. Получить это же число в виде комбинации цифр и пробелов
Дано натуральное число n. Получить это же число в виде комбинации цифр и пробелов: пробелы...

Дано натуральное число n. Получить n a
Пусть {a}_{0}=1; {a}_{k}=k\cdot {a}_{k-1}+1/k, k=1,2... Дано натуральное число n. Получить: {a}_{n}

Дано натуральное число. Найти число, получаемое при прочтении его цифр справа налево
помогите с паскалем. Дано натуральное число. Найти число, получаемое при прочтении его цифр...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru