Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
25
Task/Population-count/ABC/population-count.abc
Normal file
25
Task/Population-count/ABC/population-count.abc
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
HOW TO RETURN popcount n:
|
||||
IF n=0: RETURN 0
|
||||
RETURN (n mod 2) + popcount (floor (n/2))
|
||||
|
||||
HOW TO REPORT evil n:
|
||||
REPORT (popcount n) mod 2 = 0
|
||||
|
||||
HOW TO REPORT odious n:
|
||||
REPORT (popcount n) mod 2 = 1
|
||||
|
||||
FOR i IN {0..29}: WRITE popcount (3 ** i)
|
||||
WRITE /
|
||||
|
||||
PUT {} IN evilnums
|
||||
PUT {} IN odiousnums
|
||||
|
||||
FOR n IN {0..59}:
|
||||
SELECT:
|
||||
evil n: INSERT n IN evilnums
|
||||
odious n: INSERT n IN odiousnums
|
||||
|
||||
FOR i IN {1..30}: WRITE evilnums item i
|
||||
WRITE /
|
||||
FOR i IN {1..30}: WRITE odiousnums item i
|
||||
WRITE /
|
||||
41
Task/Population-count/Refal/population-count.refal
Normal file
41
Task/Population-count/Refal/population-count.refal
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
$ENTRY Go {
|
||||
= <Prout <Gen 30 All Pow3 (1)>>
|
||||
<Prout <Gen 30 Evil Iota (0)>>
|
||||
<Prout <Gen 30 Odious Iota (0)>>;
|
||||
};
|
||||
|
||||
Gen {
|
||||
0 s.Fil s.Gen (s.State) = ;
|
||||
s.N s.Fil s.Gen (s.State),
|
||||
<Mu s.Gen s.State>: (s.Next) s.Item,
|
||||
<Mu s.Fil s.Item>: {
|
||||
T = s.Item <Gen <- s.N 1> s.Fil s.Gen (s.Next)>;
|
||||
F = <Gen s.N s.Fil s.Gen (s.Next)>;
|
||||
};
|
||||
};
|
||||
|
||||
Popcount {
|
||||
0 = 0;
|
||||
s.N, <Divmod s.N 2>: (s.R) s.B = <+ s.B <Popcount s.R>>;
|
||||
};
|
||||
|
||||
Pow3 {
|
||||
s.N = (<* 3 s.N>) <Popcount s.N>;
|
||||
};
|
||||
|
||||
Evil {
|
||||
s.N, <Mod <Popcount s.N> 2>: {
|
||||
0 = T;
|
||||
1 = F;
|
||||
};
|
||||
};
|
||||
|
||||
Odious {
|
||||
s.N, <Mod <Popcount s.N> 2>: {
|
||||
0 = F;
|
||||
1 = T;
|
||||
};
|
||||
};
|
||||
|
||||
All { s.X = T; }
|
||||
Iota { s.N = (<+ 1 s.N>) s.N; }
|
||||
Loading…
Add table
Add a link
Reference in a new issue