4

From the comments OP wrote, I understand he wants to start small. However, we need to think more generally so that the to-be developped CAS can be of real use. Otherwise it is nothing but another calculator. Please see Definition of Computer Algebra System. My suggestion: Numbers, elements, sets, operations, etc. are fundermental in algebra. The data ...


3

This is just speculation, but perhaps what VLC is attempting is to simulate... perfect randomness. That is, each song is picked uniformly at random, independently of previous songs. According to the coupon collector problem, if you have $n$ songs in your list and want to hear all of them, you will have to wait for roughly $n\ln n$ songs to be played. By that ...


2

Note: For this answer I chose to assume that the question was somewhat naive, since, as remarked by @D.W. in his comment, the OP should otherwise search for himself in wikipedia and other places on the web, and the spectrum of problems and techniques is far too wide for an answer here. So I am focussing on the fundamental aspects, obvious to a seasoned ...


2

I don't know of a full blown library, but based on [1] there is a really fast practical C++ implementation available from the author's homepage here. [1] Valmari, Antti. "Fast brief practical DFA minimization." Information Processing Letters 112.6 (2012): 213-217.


2

Question a): Here is the output from python console. >>> import math >>> math.log(3,10) * (3**(3**3)) 3638334640024.0996 >>> math.pow(10, 0.0996) 1.2577664324512539 The first 5 most significant digits are almost the same of that of Wolfram, 12577 vs 12580. If we try the following at my favorite online arbitrary precision ...


1

Compute 4^4^4 and you will know how much pairs of bits 4^4^4^4 will require to represent.


1

$1.0531229 \times 10^{65}$ is approximately $2^{216}$ so when you say " every possible $216$ digit number " I assume you mean every possible sequence of $216$ binary digits i.e. bits. Each sequence occupies $216$ bits, so the minimum storage for all possible sequences (if we ignore factors like aligining on word boundaries) is $216 \times 1.0531229 \times ...


1

I have just found this correct answer on the web (by someone else): A helix is a circle that moves up with time. Hence, the equations for one helix are: x(t) = sin t y(t) = cos t z(t) = t A double helix include two helices that are offset by half a turn. So, the equations for the second helix would then be : x(t) = sin t y(t) = cos t z(t) = t + \pi


1

Take a look at Chapter 8 of Paradigms of Artificial Intelligence Programming - where the author Peter Norvig solves this problem in Common Lisp.


1

This looks like a classical application for Object-Oriented Programming (OOP), or more explicitly, Polymorphism. You could create a basic object, e.g. treeObj with a method evaluate, and then generate sub-types for every object in your language, e.g. a plusOp object for the $+$ expression, the constructor of which takes two other treeObj as its left and ...


Only top voted, non community-wiki answers of a minimum length are eligible