powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
12 сообщений из 12, страница 1 из 1
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051501
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток! Появился такой вопрос по заданию (приводится решение на Pascal, но возможно ли решить в Excel?):
...
"Найдите среди целых чисел, принадлежащих числовому отрезку [174457;174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в две соседних столбца на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке также должны следовать в порядке возрастания.

Например, в диапазоне [5;9] ровно два различных натуральных делителя имеют числа 6 и 8, поэтому для этого диапазона вывод на экране должна содержать следующие значения:

2 3

2 4"
...
Всем заранее спасибо!
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051502
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Awerasder
приводится решение на Pascal, но возможно ли решить в Excel?
Наверняка
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051514
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, а можете подсказать решение? Меня ж оно и интересует как раз.
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051548
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уже есть решение на паскале, зачем писать еще одно на бейсике, не проще ли перевести?
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051580
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, а разве обязательно с помощью программирования? Разве нет формул, которые бы позволяли найти все делители для какого-либо числа?
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051584
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть. Ну тогда это больше на форум математиков, чем на форум программистов, разве нет?

ну или так
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051606
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, так мне нужно в excel.Да и если бы я не пользовался поисковиком ,меня бы не закинуло на этот форум.
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051609
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Непонятно, что от экселя нужно конкретно
1) найти встроенную функцию, которая сама все сделает
2) реализовать задачу в виде формул, используя математические подходы к решению этой задачи
3) то же самое, но на VBA (ну вроде этот пункт отбросили)
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051689
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, нужен метод, настроенный именно на Excel, т.е с помощью встроенных в него функций.
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40051882
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Awerasder,

Если исходный диапазон чисел можно записывать в Excel поочередно, вроде такого:
5
6
7
8
9
то сделать можно при помощи той же ОСТАТ (+ еще пара функций). пример решения приложил(используется формула массива, если что).

Если выводить исходные числа запрещено - это формулами делать будет уже слишком сложно(если вообще получится).
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40052105
Awerasder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist, спасибо большое! Всё отлично работает для заданного мною диапазона, ответы выбираются легко. Можете лишь подробнее объяснить функцию, которую ввели?
К слову, можете вывести функцию для нахождения также не только для натуральных делителей, но и для простых? Буду премного благодарен!
...
Рейтинг: 0 / 0
Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
    #40052362
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Awerasder
подробнее объяснить функцию
тут сложно объяснять, не зная Вашего уровня.
Код: plaintext
=ЕСЛИОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ОСТАТ($A2;СТРОКА(ДВССЫЛ("2:"&$A2-1)))=0;СТРОКА(ДВССЫЛ("2:"&$A2-1)));СТОЛБЕЦ(A2));"")
Это формула массива . Вводится тремя клавишами: Ctrl+Shift+Enter.

основная функция ОСТАТ. Она определяет те числа, на которые можно поделить указанное число без остатка(или показывает этот остаток). Если она равна 0 - значит без остатка. Фактически, для числа 6 она должна выглядеть так:
Код: plaintext
=ОСТАТ(6;2)
Но т.к. нам нужны все делители(а не только 2), то мы должны задать там диапазон чисел от 2 до 5(чтобы не делить на 1 и на само число). Просто так диапазон задать можно так
Код: plaintext
{2:3:4:5}
, но в таком случае мы лишены возможности динамически изменить кол-во и верхний предел этих делителей. поэтому применяем функцию СТРОКА(2:5) и ДВССЫЛ для того, чтобы второе число в функции СТРОКА было всегда на 1 меньше самого числа, которое проверяем. Поэтому получается так:
Код: plaintext
СТРОКА(ДВССЫЛ("2:"&$A3-1)
т.е.
Код: plaintext
СТРОКА(ДВССЫЛ("2:5")
и как итог у нас получается конструкция:
Код: plaintext
ОСТАТ($A3;СТРОКА(ДВССЫЛ("2:"&$A3-1)))
эту функцию мы проверяем на 0. Если равна нулю - то возвращаем наш делитель(
Код: plaintext
СТРОКА(ДВССЫЛ("2:"&$A3-1))
), если нет - пропускаем, составляя таким образом массив только нужных нам чисел и логического ЛОЖЬ.
При помощи функции НАИМЕНЬШИЙ и функции СТОЛБЕЦ() вытягиваем по очереди полученные числа.
Ну а ЕСЛИОШИБКА нужна для того, чтобы при растягивании формулы и получении ошибки #ЧИСЛО!(которое нам вернет НАИМЕНЬШИЙ, когда нужных чисел нет или они закончились), убрать эту самую ошибку.

Awerasder
вывести функцию для нахождения также не только для натуральных делителей, но и для простых
Если мне не изменяет мой склероз, то здесь надо будет проверять каждый делитель на то, является ли он простым числом...А это уже итерация другого уровня и для формул не самая удобная. Тут городить надо не самый простой огород.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обработка целочисленной информации - нахождение делителей для чисел из отрезка и их кол-во
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]