Sujet : Re: 100 Random Single Variable Linear Equations
De : porkchop (at) *nospam* invalid.foo (Mike Sanders)
Groupes : comp.lang.awkDate : 07. Dec 2024, 21:42:11
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vj2bv3$3ahvj$1@dont-email.me>
References : 1 2 3 4
User-Agent : tin/2.6.2-20221225 ("Pittyvaich") (NetBSD/9.3 (amd64))
Janis Papanagnou <janis_papanagnou+
ng@hotmail.com> wrote:
The program could be extended by two principle additions/changes.
One is to allow negative integral numbers for a, b, c; in that case
you don't even need the "random operator" logic as a side effect.
Since you are using only natural numbers in your formulas you may
want to stay within the domain of integral numbers also in the
results; that would require to check that condition before storing
an accepted formula, or to synthesize such formulas in the first
place.
Just some more ideas.
'n' (at least for leading coefficient). but... this only tackles 'a'.
'b' & 'c' remain untouched. i must think about this more...
do {
a = rnd(1, 20) # random value 1 to 20
b = rnd(1, 20) # random value 1 to 20
c = rnd(1, 99) # random value 1 to 50
z = (rnd(1, 2) == 1) ? "+" : "-" # random operator
n = (rnd(1, 2) == 1) ? "-" : "" # random negative coefficient
e = sprintf("%s%dx %s %d = %d", n, a, z, b, c) # formatted equation
# Store equation in array if it doesn't already exist
if (!(e in equ)) {
equ[e] = 1 # mark element as reserved
u++ # increment u for each unique equation
}
} while (u < 100)
-- :wqMike Sanders