|   |   | 
| 
 | Калькулятор без использования знаков * и / | ☑ | ||
|---|---|---|---|---|
| 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, который умел считать в натуральных дробях до трех знаков в каждой части(целая, числитель, знаменатель). Но если не получалось уложиться в ограничения, то спрыгивал в десятичные дроби или экспоненциальную форму.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |