Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
13
Task/Vampire-number/Zkl/vampire-number-1.zkl
Normal file
13
Task/Vampire-number/Zkl/vampire-number-1.zkl
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
fcn fangs(N){ //-->if Vampire number: (N,(a,b,c,...)), where a*x==N
|
||||
var [const] tens=[0 .. 18].pump(List,(10.0).pow,"toInt");
|
||||
|
||||
(half:=N.numDigits) : if (_.isOdd) return(T);;
|
||||
half/=2; digits:=N.toString().sort();
|
||||
lo:=tens[half-1].max((N+tens[half])/(tens[half]));
|
||||
hi:=(N/lo).min(N.toFloat().sqrt());
|
||||
fs:=[lo .. hi].filter('wrap(n){
|
||||
N%n==0 and (n%10!=0 or (N/n)%10!=0) and
|
||||
(n.toString()+(N/n).toString()).sort()==digits
|
||||
});
|
||||
fs and T(N,fs) or T;
|
||||
}
|
||||
9
Task/Vampire-number/Zkl/vampire-number-2.zkl
Normal file
9
Task/Vampire-number/Zkl/vampire-number-2.zkl
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
fcn vampiric(fangs,n=Void){
|
||||
if(not fangs) return(n,"Not a Vampire number");
|
||||
v:=fangs[0]; T(v,fangs[1].apply('wrap(n){T(n,v/n)})) }
|
||||
|
||||
T(16758243290880, 24959017348650, 14593825548650)
|
||||
.pump(Console.println,fcn(n){"%d: %s".fmt(vampiric(fangs(n),n).xplode())});
|
||||
|
||||
(0).walker(*).tweak(fangs).filter(26)
|
||||
.pump(Console.println,vampiric);
|
||||
Loading…
Add table
Add a link
Reference in a new issue