举一例说明“离散”之用途
集合论中的德·摩根律:~(A∪B)=~A∩~B,~(A∩B)=~A∪~B
在C语言程序设计中就有广泛应用。例如
闰年条件自然语言描述如下:年份被400除尽 或者 年份被4除尽 但 不是100的倍数
C语言描述: year%400==0 || ( year%4==0 && year%100!=0 )
显然,平年即“非闰年”条件如下
C语言描述: !(year%400==0 || ( year%4==0 && year%100!=0 ))
但根据德·摩根律,平年条件可以化简为
year%400!=0 && ( year%4!=0 || year%100==0 )
再用分配律进一步化简
year%400!=0 && year%4!=0 || year%400!=0 && year%100==0
再用数学常识:被4除不尽必然被400除不尽,所以平年条件
year%4!=0 || year%400!=0 && year%100==0
觉得“离散”无用,往往是因为逻辑关系简单,凭小聪明就能正确地写出来的缘故。
集合论中的德·摩根律:~(A∪B)=~A∩~B,~(A∩B)=~A∪~B
在C语言程序设计中就有广泛应用。例如
闰年条件自然语言描述如下:年份被400除尽 或者 年份被4除尽 但 不是100的倍数
C语言描述: year%400==0 || ( year%4==0 && year%100!=0 )
显然,平年即“非闰年”条件如下
C语言描述: !(year%400==0 || ( year%4==0 && year%100!=0 ))
但根据德·摩根律,平年条件可以化简为
year%400!=0 && ( year%4!=0 || year%100==0 )
再用分配律进一步化简
year%400!=0 && year%4!=0 || year%400!=0 && year%100==0
再用数学常识:被4除不尽必然被400除不尽,所以平年条件
year%4!=0 || year%400!=0 && year%100==0
觉得“离散”无用,往往是因为逻辑关系简单,凭小聪明就能正确地写出来的缘故。