- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
<?php
$startNumber = 0;
function LittlePart($BigPart, $startNumber) {
$i = -3;
$number = $startNumber * M_PI + ($i - 1);
do {
$number += M_PI;
echo $BigPart . ' + (' . $i . ') = ' . number_format($number, 2, ',', ' ') . PHP_EOL;
$i++;
} while ($i <= 3);
}
function MidPart($BigPart, $startNumber) {
$i = -3;
$number = $startNumber * M_PI + ($i - 1);
do {
$number += M_PI;
LittlePart ($BigPart . ' + (' . $i . ')·π', $number);
$i++;
} while ($i <= 3);
}
function QuadradPart($BigPart, $startNumber) {
$i = -3;
$number = $startNumber * M_PI + ($i - 1);
do {
$number += M_PI;
MidPart ($BigPart . ' + (' . $i . ')·π²', $number);
$i++;
} while ($i <= 3);
}
function CubePart($BigPart, $startNumber) {
$i = -3;
$number = $startNumber * M_PI + ($i - 1);
do {
$number += M_PI;
QuadradPart ($BigPart . '(' . $i . ')·π³', $number);
$i++;
} while ($i <= 3);
}
CubePart('', 0);
Система счисления по основанию π. Пока с целыми числами.
http://ideone.com/EUYEKA
inkanus-gray 03.05.2015 16:38 # 0
Ну вы поняли.
inkanus-gray 03.05.2015 16:43 # 0
inkanus-gray 03.05.2015 17:05 # 0
1024-- 03.05.2015 16:51 # 0
Какой ID )))
Родственник начальника ideone?
inkanus-gray 03.05.2015 17:00 # 0
Урезанная и исправленная версия: http://ideone.com/hAX9hi
kegdan 03.05.2015 17:09 # 0
inkanus-gray 03.05.2015 17:12 # 0
kegdan 03.05.2015 17:40 # +1
покажу как умею
1024-- 03.05.2015 18:06 # 0
kegdan 03.05.2015 18:22 # 0
1 = {1/пи} {1/пи^2, 0} {1/пи^3, 0,0} ...
Не одназначность возникает при использовании чисел меньших 1
мы может ввести ограничения для всех числе, кроме первого, что бы они были больше 1, тогда N ое число будет содержаться в диапазоне от Пи^N до Пи^(N+1) не включительно. В этом случае запись будет однозначной. кажется
1024-- 03.05.2015 17:23 # 0
inkanus-gray 03.05.2015 18:08 # 0
1. Считаем логарифм по основанию π.
2. Округляя логарифм в меньшую сторону, получаем количество знаков. Пусть это будет n.
3. Поделив число на π в степени n, и округлив вниз, получим старшую цифру. Пусть она равна M.
4. Вычитаем M, умноженное на π в степени n, из числа и повторяем процедуру.
P.S. Ах, да, алгоритм не учитывает возможность записи с отрицательными цифрами. Для них оптимального алгоритма не знаю.
inkanus-gray 03.05.2015 18:16 # 0
1024-- 03.05.2015 18:23 # +1
Т.е. выходит, что можно 2^n вариантов рассмотреть?
Хотя, если округлять вниз, а потом корректировать (округлять вверх при желании) только последнюю цифру, получается годно (коротко и не очень затратно):
Fike 03.05.2015 19:11 # +4
Horse3 03.05.2015 20:18 # −2
1024-- 03.05.2015 21:13 # 0
bormand 03.05.2015 21:20 # +2
1024-- 03.05.2015 21:25 # +1
P.S. Вот же питуцарьство! Теперь уже это слово только через "и" питушу.
Horse3 03.05.2015 21:43 # −1
kegdan 03.05.2015 22:07 # 0
Петухочелоконь?
Коньпетухочел?
Stallman 03.05.2015 21:45 # 0
wvxvw 03.05.2015 19:15 # 0
inkanus-gray 03.05.2015 20:15 # 0