LINUX.ORG.RU

Любой язычок с реплом, python, рубятинка, тычячи их.

BRATISLAVA ()

хаскель уже советовали?

anonymous ()
Ответ на: комментарий от pon4ik
segfault@cirno-6:~$ apt show dc
Package: dc
Version: 1.07.1-2
Priority: optional
Section: math
Source: bc
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Ryan Kavanagh <rak@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 131 kB
Depends: libc6 (>= 2.14)
Homepage: http://ftp.gnu.org/gnu/bc/
Task: ubuntu-desktop, kubuntu-desktop, xubuntu-core, xubuntu-desktop, lubuntu-desktop-share, lubuntu-gtk-desktop, lubuntu-desktop, lubuntu-qt-desktop, ubuntustudio-desktop-core, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop
Supported: 5y
Download-Size: 48.6 kB
APT-Sources: http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Description: GNU dc arbitrary precision reverse-polish calculator
 GNU dc is a reverse-polish desk calculator which supports unlimited
 precision arithmetic.  It also allows you to define and call macros.
 .
 A reverse-polish calculator stores numbers on a stack. Entering a number
 pushes it on the stack.  Arithmetic operations pop arguments off the
 stack and push the results.

siegment ()
Ответ на: комментарий от siegment

Не, стековый не хочу, это прикольная наркота, но не совместимо как минимум с коллегами.

pon4ik ★★★★★ ()
Ответ на: комментарий от anonymous

Уже не помню - делал подход, не взлетело. Как минимум переводы юнитов и баз систем счисления сделаны довольно инопланетно.

Не помню, но показалось, что там и переменных нет, но если покажешь как обрабатывается кейс из хедпоста тут с помощью bc, я готов сделать ещё один подход.

pon4ik ★★★★★ ()
Ответ на: комментарий от pon4ik

Твой пример работает в bc, разве что пересчет единиц придется руками делать

annulen ★★★★★ ()

Может perl или awk подойдут?

cvv ★★★★★ ()

calc

% calc
C-style arbitrary precision calculator (version 2.12.7.2)
Calc is open software. For license details type:  help copyright

; 0.123/456789
	~0.00000026927093253121
; display(200)
	20
; 0.123/456789
	~0.00000026927093253121244163059968606949817092793390383743916775579096694535113586360442129736048810282209072460151185777240695375764302555446825558408805816252142674188739220953219101160492043372322889
; display(2000)
	200
; 0.123/456789
	~0.000000269270932531212441630599686069498170927933903837439167755790966945351135863604421297360488102822090724601511857772406953757643025554468255584088058162521426741887392209532191011604920433723228886860235250848860195845346538555000229865430209571596513926561278839902011650893519 <вырезано>

;config("mode", "frac")
	"fraction"

; x=1/7+5/11+17/19
; x
	2183/1463
; printf("%d \n %f",x,x)
2183/1463 
 ~1.492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507860560492139439507<итд>

; sqrt(3)
	173205080756887729353/100000000000000000000
; sqrt(3,1e-200)
	86602540378443864676372317075293618347140262690519031402790348972596650845440001854057309337862428783781307070770335151498497254749947623940582775604718682426404661595115279103398741005054233746163251/50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Причем, оно еще и неплохо скриптуется, т.к. писалось астрономами «под себя». В общем, классная, все еще разрабатываемая вещь еще из прошлого века:
http://www.isthe.com/chongo/tech/comp/calc/
https://packages.debian.org/buster/apcalc

anonymous ()
Ответ на: комментарий от annulen

В этой имплементации она тебе не понадобится.

APL

      (~T∊T∘.×T)/T←1↓⍳100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

ivy

      (not T in T o.* T) sel T = 1 drop iota 100
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
beastie ★★★★★ ()
Ответ на: комментарий от beastie

Thus, 34+5 is 27 (it groups as 3(4+5)) and iota 3+2 is 1 2 3 4 5 while 3+iota 2 is 3 4 5. A vector is a single operand, so 1 2 3 + 3 + 3 4 5 is (1 2 3) + 3 + (3 4 5), or 7 9 11.

Лажа.

siegment ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.