Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
15
Task/Fraction-reduction/MiniZinc/fraction-reduction.minizinc
Normal file
15
Task/Fraction-reduction/MiniZinc/fraction-reduction.minizinc
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
%Fraction Reduction. Nigel Galloway, September 5th., 2019
|
||||
include "alldifferent.mzn"; include "member.mzn";
|
||||
int: S;
|
||||
array [1..9] of int: Pn=[1,10,100,1000,10000,100000,1000000,10000000,100000000];
|
||||
array [1..S] of var 1..9: Nz; constraint alldifferent(Nz);
|
||||
array [1..S] of var 1..9: Gz; constraint alldifferent(Gz);
|
||||
var int: n; constraint n=sum(n in 1..S)(Nz[n]*Pn[n]);
|
||||
var int: i; constraint i=sum(n in 1..S)(Gz[n]*Pn[n]); constraint n<i; constraint n*g=i*e;
|
||||
var int: g; constraint g=sum(n in 1..S)(if n=a then 0 elseif n>a then Gz[n]*Pn[n-1] else Gz[n]*Pn[n] endif);
|
||||
var int: e; constraint e=sum(n in 1..S)(if n=l then 0 elseif n>l then Nz[n]*Pn[n-1] else Nz[n]*Pn[n] endif);
|
||||
var 1..S: l; constraint Nz[l]=w;
|
||||
var 1..S: a; constraint Gz[a]=w;
|
||||
var 1..9: w; constraint member(Nz,w) /\ member(Gz,w);
|
||||
|
||||
output [show(n)++"/"++show(i)++" becomes "++show(e)++"/"++show(g)++" when "++show(w)++" is omitted"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue