A "product digitday" is a date in which the respective product of the digits of the month and the day multiply up to the product of the digits of the year in the mmddyy format.
For example,121828 is a product digitday as the respective product of the digits of the month and the day multiply up to 16 which is equal to the product of the digits of the year.
(i) Determine the total number of product digitdays from January 1, 2001 to December 31, 2099 inclusively.
(ii) Determine the year(s) having the maximum number of product digitdays in the period covered under (i).
(iii) Determine the last product digitday in the period covered under (i).
I'm assuming that mmddyy requires that all three pieces require leading zeros when otherwise there would be only a single digit.
DATA 31,28,31,30,31,30,31,31,30,31,30,31
DIM molen(12)
FOR i = 1 TO 12: READ molen(i): NEXT
CLS
FOR yy = 1 TO 99
yprod = (yy \ 10) * (yy MOD 10)
yrtotct = 0
FOR mm = 1 TO 12
mprod = (mm \ 10) * (mm MOD 10)
fin = molen(mm)
IF mm = 2 AND yy MOD 4 = 0 THEN fin = 29
FOR dd = 1 TO fin
dprod = (dd \ 10) * (dd MOD 10)
IF dprod * mprod = yprod THEN
totct = totct + 1
yrtotct = yrtotct + 1
mmsave = mm: ddsave = dd: yysave = yy
END IF
NEXT
NEXT
IF yrtotct > maxyrtotct THEN maxyr = yy: maxyrtotct = yrtotct
IF yrtotct = 329 THEN PRINT yy
NEXT
PRINT totct
PRINT maxyrtotct, maxyr
PRINT mmsave; ddsave; yysave
finds
4
8
20
40
60
80
6020
329 4
12 29 94
meaning there are 6020 such days in the period and years 04, 08, 20, 40, 60 and 80 contain the largest number of such days, 329, as the leading or trailing zeros combine with the extra day in February (month 02).
The last such day is 122994.

Posted by Charlie
on 20111112 18:40:03 