Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
26.09.2017, 10:26
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Доброго времени суток всем! Можно ли представить в дроби период в виде числа в скобках. Решить с помощью формул Эксель! Варианты делимого и делителя могут быть абсолютно разные, т.е. те, что введет пользователь и если возникает дробь с периодом, то он должен отображаться в скобках. Пример: 5/6 = 0,833333...=0,8(3). Вывод в ячейку должен быть 0,8(3) Дробь может быть как чистая, так и смешанная. 2,7136136 = 2,7(136) - смешанная, то есть период начинается не сразу после запятой. 0,833333 = =0,8(3) - чистая, то есть период начинается сразу после запятой. Если я правильно понимаю, нужно сначала формуле понять есть ли повторения, потом определить сколько цифр в повторении, т.е. период, ну и записать результат. Повторения можно вывести с помощью формулы MOD, но как определить цикличность - период, который должен быть в скобках, понять не могу. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 10:28
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Простите, чистая дробь 0,333333 = =0,(3) - чистая, то есть период начинается сразу после запятой. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 11:12
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
НиткаМожно ли представить в дроби период в виде числа в скобках. Решить с помощью формул Эксель Точности не хватит. Уже для 1/19... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 11:57
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Akina, Вот нашла алгоритм работы программы на языке php: <В функцию поступают числовые значения: числитель (делимое) - $numerator и знаменатель (делитель) - $denominator. Создается вспомогательный массив $array, в который будут записываться результаты деления. Затем находим остаток от деления $numerator на $denominator - это $modulo. Задаем счетчик $counter на 1. Образовываем цикл, который будет работать до тех пор, пока остаток $modulo будет равен нулю. Заносим в массив значение счетчика. Остаток умножаем на 10, т.е. как при делении добавляем ноль. При помощи функции explode извлекаем то, что находится до точки. И опять находим остаток - $modulo%=$denominator. Добавляем единицу счетчику. Цикл будет прокручиваться до тех пор, пока не начнет повторяться остаток. Если остаток повторяется, то цикл обрывается. Затем стоит вспомогательное условие. Если найден модуль, то отображается часть при делении до точки и обработанный период в скобках после точки. Иначе, если периода нет, то просто отображаем результат деления.> Т.е. когда начинает повторятся остаток, то можно закончить вычисление. Как это сделать при помощи формул Эксель? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 12:21
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
НиткаВот нашла алгоритм работы программыВ начальной школе это называется "деление в столбик". Только хрена с два удастся это закодить формулой... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 12:31
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Akina, Ну можно протянуть это деление в строчку, получить ряд, в ряду будут повторяющиеся значения Например 1 3 6 1 3 6 Как теперь получить период (136) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 13:39
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Если это учебная задача, то ТС должен знать про теорию чисел, теорию сравнений. Если практическая - то откуда ограничение на формулы только? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 13:45
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
НиткаНу можно протянуть это деление в строчку, получить ряд, в ряду будут повторяющиеся значенияДостаточно взять в качестве делителя простое число, которое больше количества столбцов, чтобы обломиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 14:50
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Да, это учебная задача, можно ограничить вывод результата деления 20тью числами например, большая точность не нужна. Если в этом диапазоне не будет периода, значит в период не выводим. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 15:02
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
Ниткаможно протянуть это деление в строчку, получить ряд, в ряду будут повторяющиеся значения Например 1 3 6 1 3 6 Как теперь получить период (136)Для получения периода потребуется "протягивать" две строки - в первой очередная цифра частного, а во второй целочисленный остаток при делении в столбик. Затем в третьей строке для каждого остатка нужно считать смещение вперёд по строке до того же значения. Период начинается там, откуда это значение станет постоянным, а само значение равно длине периода. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 15:21
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Akina, <Затем в третьей строке для каждого остатка нужно считать смещение вперёд по строке до того же значения. Период начинается там, откуда это значение станет постоянным, а само значение равно длине периода.> А можно пример, как считать смещение вперед по строке до того же значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 15:28
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
Ниткакак считать смещение вперед по строке до того же значения.Функцией ПОИСКПОЗ() ... |
|||
:
Нравится:
Не нравится:
|
|||
|
26.09.2017, 22:52
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
Нитка, А какой смысл выводить дроби как периодические, если математически это неверно? Например, если у вас в таблице сидит 0.999999, то это никак не единица, это другое число. А если мы говорим про 0.(9) - то математически это и есть единица, самая настоящая, без всяких натяжек и погрешностей. Если вы выведете в ячейку 0.(9), что потом с этим делать будете? 1 - 0.(9) сколько у вас получится? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 02:02
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
Нитка, Так подойдет? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 07:53
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
Cane Cat Fisherесли мы говорим про 0.(9) - то математически это и есть единица Увы... 0.(9) = 1 - (+0) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 09:18
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
iMrTidy, Спасибо! Это то, что нужно! Пойду разбираться, как это вы сделали в одной ячейке. Пробовала с ПОИСКПОЗ(), как посоветовала Akina, получилось, но приходится создавать несколько доп.строк и не смогла понять как отсечь непериодическую дробь. Возможно так тоже можно, но не хватает знаний Эксель. Сама задачка больше на умение пользоваться формулами Эксель, чем на математику. Спасибо всем! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 09:40
|
|||
---|---|---|---|
Эксель Период дроби |
|||
#18+
Нитка, Мое решение совсем не в одной ячейке, а с несколькими доп. столбцами. Не думаю, что можно сделать динамически в одной ячейке, в лучшем случае статически с copy-paste формулы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 10:21
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
iMrTidy, Да, увидела. Мне как раз не хватало того способа, которым вы отсекаете непериодическую дробь в результате. Сейчас решение есть, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
27.09.2017, 10:23
|
|||
---|---|---|---|
|
|||
Эксель Период дроби |
|||
#18+
AkinaCane Cat Fisherесли мы говорим про 0.(9) - то математически это и есть единица Увы... 0.(9) = 1 - (+0)Нет. В курсе дискретной математики равенство как раз доказывается. Причём просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=61&mobile=1&tid=2172555]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 294ms |
total: | 453ms |
0 / 0 |