Re: 請問一下判斷平年閏年
好像出現了有趣的邏輯盲點..討論一下好了..^^
令A為 x%4==0 B為 x%100!=0 C為 x%400==0
那這裡不管你是看成 (A&&B)||C 或 A&&(B||C) 都有一樣的結果
=> A&&(B||C)=(A&&B)||(A&&C)=(A&&B)||C 因為 x%400=0則x%4必然等於0
而事實上程式會順著看..也就是 (A&&B) ||C..也就是連問題也沒有了..
e.g. 2000: (1&&0)||1 = 1 是閏年
1900: (1&&0)||0 = 0 是平年
※ 引述《feeians (想買台日本睡覺機)》之銘言:
: ※ 引述《LPH66 (Let Program Heal us....)》之銘言:
: : ※ 引述《andyjih (冬烘蠹魚找自己N N)》之銘言:
: : : 我把我昨天做出來的放上來
: : : on (release) {
: : : if(x%4==0 && x%100!=0||x%400==0){
: : : x1="這是閏年";
: : : }else{
: : : x1="這是平年";
: : : }
: : 邏輯好像不太對
: : 2000年 它是閏年
: : 1900年則不是
: : 而你的程式都會說"這是平年"
: 推 Jedic:寫法有問題,但是運算結果卻無誤 61.66.87.212 10/18
: 推 ificould:maybe flash的問題.. 程式還不夠好.. 61.62.28.85 10/19
: 推 feeians:不是flash的問題..這邏輯拿到哪都可通... 210.68.18.37 10/19
: 推 ificould:原來如此.. ||的運算子執行優先於&& 61.62.37.87 10/19
||和&&的確是平行的阿..就像+和-一樣..
不過關鍵在於.. 2+3-5 不用寫成 (2+3)-(5) 呀!!
就像這裡 (A&&B)||(C) 可以把括號拿掉一樣
: → ificould:我以為他們兩個是同級的咧 61.62.37.87 10/19
--
有愛牽手也勃起
沒愛摸奶也不舉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.68.16.238
討論串 (同標題文章)
Flash 近期熱門文章
PTT數位生活區 即時熱門文章