Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
32
Task/Palindrome-dates/AWK/palindrome-dates.awk
Normal file
32
Task/Palindrome-dates/AWK/palindrome-dates.awk
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# syntax: GAWK -f PALINDROME_DATES.AWK
|
||||
BEGIN {
|
||||
show = 15
|
||||
year_b = 2020
|
||||
year_e = 9999
|
||||
split("31,28,31,30,31,30,31,31,30,31,30,31",daynum_array,",") # days per month in non leap year
|
||||
for (y=year_b; y<=year_e; y++) {
|
||||
daynum_array[2] = (y % 400 == 0 || (y % 4 == 0 && y % 100)) ? 29 : 28
|
||||
for (m=1; m<=12; m++) {
|
||||
for (d=1; d<=daynum_array[m]; d++) {
|
||||
ymd = sprintf("%04d%02d%02d",y,m,d)
|
||||
if (substr(ymd,1,1) == substr(ymd,8,1)) { # speed up
|
||||
if (ymd == reverse(ymd)) {
|
||||
arr[++n] = ymd
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("%04d0101-%04d1231=%d years, %d palindromes, showing first and last %d\n",year_b,year_e,year_e-year_b+1,n,show)
|
||||
printf("YYYYMMDD YYYYMMDD\n")
|
||||
for (i=1; i<=show; i++) {
|
||||
printf("%s %s\n",arr[i],arr[n-show+i])
|
||||
}
|
||||
exit(0)
|
||||
}
|
||||
function reverse(str, i,rts) {
|
||||
for (i=length(str); i>=1; i--) {
|
||||
rts = rts substr(str,i,1)
|
||||
}
|
||||
return(rts)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue