玛雅历,这道题的题意就是将玛雅人创造的历法进行转化。
这道题主要是读懂题意,haab是跟我们历法是差不多的,365天,但是其是19个月,前18个月每个月是20天,而最后的一个月
是5天,另外的事按天的排名来机时的。
代码:
#include<stdio.h>
#include<string.h>
char H[20][10]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
char T[22][10]={"ahau","imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac"};
int main()
{
int d, y, n, i;
char m[20];
scanf("%d", &n);
getchar();
printf("%d\n", n);
while(n--)
{
scanf("%d. %s %d", &d, m, &y);
for (i = 0; i < 19; i++)
{
if (strcmp(m, H[i]) == 0)
break;}d += i * 20 + y * 365;
printf("%d %s %d\n", d % 13 + 1, T[(d + 1) % 20], d / 260);
}
}
以0开始记天,就省很多。