P2010 回文日期

2022-02-19 05:54:11 字數 1197 閱讀 3208

呃呃呃,這個題我寫的**比較繁瑣,不過自認為還是很容易理解的。

輸入的是兩個日期,如果把它看成乙個數的話,資料範圍也就是10000000-99999999;而且在其中很多數是不會出現的(必須是真實存在的日期)如果是從輸入的第乙個數到第二個數迴圈一次的話,1s的時間限制也是能過的,迴圈的時候,要判斷這個數是否是回文數,再判斷這個數是否為合法的日期。所以再定義兩個函式分別判斷就可以了。

首先是判斷日期是否合法的函式:

1

bool hf(inta)2

14if(t==4||t==6||t==9||t==11)15

19if(t==2)20

26else

2731

}32 }

返回值只需要「true」或「false」就可以了,所以函式型別就是bool型,下面判斷回文的函式也一樣。三個變數:year來儲存年份,t來儲存月份,date來儲存日期。分別存好後,先判斷月份,首先月份要是不合法的話就直接返回false;然後再根據每個月份所對應的最多天數來判斷是否合法。其中2月份比較特殊,先要判斷是閏年還是平年,再判斷日期是否合法。

然後,判斷是否為回文數的函式:

1

bool hw(inta)2

7else

return

false

; 8 }

判斷回文的話就直接將後四位數翻轉過來,再判斷是否和前四位數相等,若相等,則為回文數。

然後main函式裡進行迴圈和呼叫函式就可以了。

ac**:

1 #include2

using

namespace

std;

3bool hf(inta)4

16if(t==4||t==6||t==9||t==11)17

21if(t==2)22

28else

2933}34

}35bool hw(int

a)36

41else

return

false

; 42}43

intmain()

4453

}54 cout<

55return0;

56 }

洛谷P2010 回文日期

在日常生活中,通過年 月 日這三個要素可以表示出乙個唯一確定的日期。牛牛習慣用8位數字表示乙個日期,其中,前44位代表年份,接下來2位代表月 份,最後2位代表日期。顯然 乙個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,乙個日期是回文的,當且僅當表示這個日期的8位數字是回文的...

洛谷 P2010 回文日期

noip2016普及組t2 在日常生活中,通過年 月 日這三個要素可以表示出乙個唯一確定的日期。牛牛習慣用8位數字表示乙個日期,其中,前4位代表年份,接下來2位代表月 份,最後2位代表日期。顯然 乙個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,乙個日期是回文的,當且僅當表示...

洛谷 P2010 回文日期

在日常生活中,通過年 月 日這三個要素可以表示出乙個唯一確定的日期。牛牛習慣用8位數字表示乙個日期,其中,前4位代表年份,接下來2位代表月 份,最後2位代表日期。顯然 乙個日期只有一種表示方法,而兩個不同的日期的表 示方法不會相同。牛牛認為,乙個日期是回文的,當且僅當表示這個日期的8位數字是回文的。...