P8738 [蓝桥杯 2020 国 C] 天干地支 题解

· · 题解

题意

计算公元年份的天干地支年份。

思路

因为天干 10 年一轮回,地支 12 年一轮回,所以我们做好对照表即可。
通过取模的方法获得当前年份的天干地支。
观察样例发现 2020 年为庚子年。 推定各年取模后的干支。

string t[10] = {"geng", "xin", "ren", "gui", "jia", "yi", "bing", "ding", "wu", "ji"};
string d[12] = {"shen", "you", "xu", "hai", "zi", "chou", "yin", "mao", "chen", "si", "wu", "wei"};

这题建议降为红题。

贴个代码

#include <iostream>

#define longint long long
#define reg register
#define qwq puts("fzy qwq ~");

using namespace std;

int n;
string t[10] = {"geng", "xin", "ren", "gui", "jia", "yi", "bing", "ding", "wu", "ji"};
string d[12] = {"shen", "you", "xu", "hai", "zi", "chou", "yin", "mao", "chen", "si", "wu", "wei"};

int main()
{
    cin >> n;
    cout << t[n % 10] << d[n % 12] << endl;
    return 0;
}