Имя: Пароль:
1C
1С v8
Калькулятор без использования знаков * и /
0 JuixyJes
 
01.05.21
17:41
Добрый день, господа, задумалась тут... Ведь умножение и деление это же производные от сложения и вычитания, так? Захотелось написать калькулятор, который будет это все делать без использования уже готовых "*" и "/"... С целыми числами работает все замечательно, только делит без остатка... А как быть с дробными числами? Подскажите, если кто знает как сделать, очень интересно
1 JuixyJes
 
01.05.21
17:47
К примеру если я возьму
"2 * 3"
то получится
"2+2+2"
если возьму
"2*3.5"
то получится
"2+2+2+1"

1 я получаю из следующего:

x=a/b
a=xb
1=2/2
2=1*2

Но только лишь потому, что знаю что 0.5 это половина...
Как быть с разложением дробной части
2 Aleksey
 
01.05.21
17:52
делай через логариф
3 Aleksey
 
01.05.21
18:00
а так нужно менять на обычные дроби, т.е.

2*3,5 = [2/1] * [3(1/2)]  или 2/1 * 7/2. Т.е. в числители простые числа (2 * 7) в знаменатели тоже простые числа (1 * 2). Ну а работать с простыми числами ты научился
4 Aleksey
 
01.05.21
18:05
Хотя нет 1/2 это уже сокращенная запись. в обычной ситуации 3,5 - это десятичный формат написания дроби. Т.е. основание кратное 10. А значит 3,5 это тоже самое что и 35/10. (0,035 соответственно 35/1000)
5 JuixyJes
 
01.05.21
18:20
Я поняла, что 2*3.5 это тоже, что и 3.5*2, как следствие  - задача заурядная и легко решаемая, если один из множителей — целое число, то все сводится к простой перемене множителей местами. А как быть с двумя дробными числами?
6 acht
 
01.05.21
19:28
(5) Тебе ж в (3) все рассказали. Своди к обычным дробям и выноси общий делитель. Например:

2.1 * 3.75 = (21/10) * (375/100) = (210/100) * (375/100) = (210*375)/100

А умножать и делить целые числа, судя по (0) ты уже умеешь.
7 hhhh
 
01.05.21
23:12
(5) сдвигай запятую вправо

2 * 3,5 это 2* 35 / 10

2 * 35 - это тривиально

деление на 10 это сдвиг запятой на одну позицию влево.
8 Вафель
 
01.05.21
23:50
Во времена когда сопроцессора не было как то же считали и умножение и деление
9 Garykom
 
гуру
02.05.21
01:12
(0) Ты чему в школе учился неуч?
Про https://ru.wikipedia.org/wiki/Экспоненциальная_запись не в курсе?
10 Garykom
 
гуру
02.05.21
01:14
(9)+ ну и https://habr.com/ru/post/112953/ для общего развития
11 Провинциальный 1сник
 
02.05.21
11:04
У меня был калькулятор МК-71, который умел считать в натуральных дробях до трех знаков в каждой части(целая, числитель, знаменатель). Но если не получалось уложиться в ограничения, то спрыгивал в десятичные дроби или экспоненциальную форму.
Закон Брукера: Даже маленькая практика стоит большой теории.