问题描述
上周末,M.A 教授对古老的玛雅有了一个重大发现。从一个古老的节绳(玛雅人用
于记事的工具)中,教授发现玛雅人使用了一个一年有365 的叫做Haab 的日历。这个
Haab 日历拥有19 个月,在开始的18 个月,一个月有20 天,月份的名字分别是pop, no,
zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu.
这些月份中的日期用0 到19 表示。Haab 历的最后一个月叫做uayet,它只有5 天,用0
到4 表示。玛雅人认为这个日期最少的月份是不吉利的,在这个月法庭不开庭,人们不
从事交易,甚至没有人打扫屋中的走廊。
因为宗教的原因,玛雅人还使用了另一个日历,在这个日历中年被称为Tzolkin(holly
年),一年被分成13 个不同的时期,每个时期有20 天,每一天用一个数字和一个单词
相组合的形式来表示。使用的数字是1~13,使用的单词共有20 个,它们分别是:imix,
ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, eb, ben, ix, mem, cib, caban,
eznab, canac, ahau。注意:年中的每一天都有着明确的描述,比如,在一年的开始,日
期如下描述: 1 imix, 2 ik, 3 akbal, 4 kan, 5 chicchan, 6 cimi, 7 manik, 8 lamat, 9 muluk, 10
ok, 11 chuen, 12 eb, 13 ben, 1 ix, 2 mem, 3 cib, 4 caban, 5 eznab, 6 canac, 7 ahau, ,8 imix, 9
ik, 10 akbal . . . 。也就是说数字和单词各自独立循环使用。
Haab 历和Tzolkin 历中的年都用数字0,1,:::表示,数字0 表示世界的开始。所
以第一天被表示成:
Haab: 0. pop 0
Tzolkin: 1 imix 0
请帮助M.A.教授写一个程序可以把Haab 历转化成Tzolkin 历。
输入数据
Haab 历中的数据由如下的方式表示:
日期. 月份 年数
第一行表示要转化的Haab 历的数据量。下面的每一行表示一个日期,年数小于
5000。
输出要求
Tzolkin 历中的数据由如下的方式表示:
天数字 天名称 年数
第一行表示需要转化的Haab 历的数据量。下面的每一行表示一个日期。
输入样例
3
10. zac 0
0. pop 0
10. zac 1995
输出样例
3
3 chuen 0
1 imix 0
9 cimi 2801
#include <stdio.h>
int main(){
int nCases;
char* haab[] = {"pop","no","zip", "zotz", "tzec", "xul", "yoxkin","mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
char* tzolkin[] = {"imix","ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban","eznab", "canac", "ahau"};
scanf("%d", &nCases);
printf("%d\n", nCases);
while(nCases --){
int hYear, hDay;
char hMonth[10];
int i = 0;
scanf("%d.%s %d", &hDay, hMonth, &hYear);
while(strcmp(hMonth, haab[i])){
i++;
}
int days;
days = hYear * 365 + i * 20 + hDay;
int zYear = days / 260;
printf("%d.%s %d\n", days % 13 + 1, tzolkin[days % 20], zYear);
}
return 0;
}
分享到:
相关推荐
需要杰哥讲解的毕设js代码
C++自制小游戏《杰哥和阿伟》源码(cpp) C++小游戏,由哔哩哔哩的梗制作而成,切勿当真哦~ 游戏内行为请勿模仿! 原创小游戏,请勿转载或整改~ 记得关注@Ender_momo,短时间内将发布制作过程
杰哥两套卷.rar
有跟我一样看不懂代码,只能盲抄来理解的吗,杰哥看到了莫生气我自己现在真写不了好了,今天的案例与while语句有关
本人收集的几套百度笔试题。 doc格式,需要找工作的可以看看
Ceph是一个开源的分布式文件系统。因为它还支持块存储、对象存储,所以很自然的被用做云计算框架openstack或cloudstack整个存储后端。当然也可以单独作为存储,例如部署一套集群作为对象存储、SAN存储、NAS存储等。...
python深度学习-pandas
杰哥应急响应ppt
百度google 笔试题汇总,全是word 文档。对找实习有很多好处的
C语言35页第4题第2小问.exe
大家可以通过这篇文献对控制领域有一个大体的认知。 更多炸裂内容,详见公粽号 :杰哥的无人驾驶便利店。
该文档为配套的【杰哥日常小工具】字符串处理工具的登录效验码,下载工具后可登录解码该文档信息获取管理员或VIP登录码
matlab软件下载:lingo教程数学建模Lingo系列视频(爆肝杰哥): Lingo(1)基础篇:BV1CT4y177qS Lingo(2)入门篇:BV1U
文章目录1 故事的开局2 杰哥的表演2.1 sl2.2 htop2.3 gcp2.4 hollywood2.5 cmatrix2.6 asciiview2.7 ninvaders2.8 bastet2.9 pipe2.10 oneko3 博主的炸弹4 总结 1 故事的开局 周末到了,部门里几个小伙伴约好了一起...
无人驾驶车辆轨迹跟踪控制综述型参考英文文献!大家可以通过这篇文献对控制领域有一个大体的认知。 更多炸裂内容,详见公粽号 :杰哥的无人驾驶便利店
无人驾驶车辆轨迹跟踪控制综述型参考英文文献!大家可以通过这篇文献对控制领域有一个大体的认知。 更多炸裂内容,详见弓粽Hao :杰哥的无人驾驶便利店