奥数解答

一道奥数题,1999年,一个青年说,今年我的生日已过了,我现在的年龄正好是我出生年份的四个数字之和。这个青年是哪年出生的?

-- file : AS.hs
-- 奥数计算

calculateA :: [Integer]
calculateA =  [ years |a<-[1..9],b<-[0..9],c<-[0..9],d<-[0..9],let years=a*1000+b*100+c*10+d,years<1999,(1999-years)==(a+b+c+d)]

 Prelude> :l AS.hs
[1 of 1] Compiling Main             ( AS.hs, interpreted )
Ok, modules loaded: Main.
*Main> calculateA
[1976]

原文地址:https://www.cnblogs.com/bailiang/p/2539820.html