Update all new Tasks

This commit is contained in:
Ingy döt Net 2015-02-20 09:02:09 -05:00
parent 00a190b0a6
commit 91df62d461
5697 changed files with 93386 additions and 804 deletions

View file

@ -0,0 +1,24 @@
multiple: procedure options (main); /* 29 April 2014 */
declare n fixed binary (31);
find_mdr: procedure;
declare (mdr, mp, p) fixed binary (31);
mdr = n;
do mp = 1 by 1 until (p <= 9);
p = 1;
do until (mdr = 0); /* Form product of the digits in mdr. */
p = mod(mdr, 10) * p;
mdr= mdr/10;
end;
mdr = p;
end;
put skip data (n, mdr, mp);
end find_mdr;
do n = 123321, 7739, 893, 899998;
call find_mdr;
end;
end multiple;

View file

@ -0,0 +1,56 @@
mdrt: Proc Options(main);
Dcl (x,p,r) Bin Fixed(31);
Put Edit('number persistence multiplicative digital root')(Skip,a);
Put Edit('------- ----------- ---------------------------')(Skip,a);
Call task1(123321);
Call task1( 7739);
Call task1( 893);
Call task1(899998);
task1: Procedure(x);
Dcl x Bin Fixed(31);
Call mdr(x,p,r);
Put Edit(x,p,r)(Skip,f(8),f(8),f(22));
End;
Dcl zn(0:9) Bin Fixed(31);
Dcl z(0:9,5) Bin Fixed(31);
zn=0;
zn(0)=1;
z(0,1)=0;
Do x=1 To 11111;
Call mdr(x,p,r);
If zn(r)<5 Then Do;
zn(r)+=1;
z(r,zn(r))=x;
End;
End;
Put Edit(' ')(Skip,a);
Put Edit('MDR first 5 numbers that have a matching MDR')(Skip,a);
Put Edit('--- ----------------------------------------')(Skip,a);
Do r=0 To 9;
Put Edit(r,' ')(Skip,f(3),a);
Do i=1 To 5;
Put Edit(z(r,i))(f(6));
End;
End;
mdr: Procedure(y,p,r);
Dcl (y,p,r) Bin Fixed(31);
Dcl (k,yy) Bin Fixed(31);
Dcl pic Pic'(10)9';
Dcl d Pic'9';
pic=abs(y);
Do p=1 By 1 Until(pic<10);
Do k=1 To 10 Until(substr(pic,k,1)>'0');
End;
r=1;
Do k=k To 10;
d=substr(pic,k,1);
r=r*d;
End;
pic=r;
End;
End;
End;