1008 Maya Calendar

本文提供了一种将玛雅长计历转换为玛雅卓尔金历的方法。通过输入长计历的天数和月份,程序计算并输出对应的卓尔金历的系数、月份和年份。使用了字符串数组来匹配玛雅历的特殊月份名称。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单的转换

  1. //4476510_AC_16MS_468K
  2. /**********************************************************************
  3. *       Online Judge   : POJ
  4. *       Problem Title  : Maya Calendar
  5. *       ID             : 1008
  6. *       Date           : 12/11/2008
  7. *       Time           : 19:35:29
  8. *       Computer Name  : EVERLASTING-PC
  9. ***********************************************************************/
  10. #include<iostream>
  11. #include<string>
  12. using namespace std;
  13. string H[19]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
  14. string T[20]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};
  15. int n,y1,y2,y,d1,d2,d,m1,m2;
  16. string s;
  17. int GetHMonth(string str)
  18. {
  19.     for (int i=0;i<19;++i)
  20.     {
  21.         if (str==H[i])
  22.         {
  23.             return i;
  24.         }
  25.     }
  26. }
  27. int main()
  28. {
  29.     //freopen("in_1008.txt","r",stdin);
  30.     cin>>n;
  31.     cout<<n<<endl;
  32.     while(n--)
  33.     {
  34.         cin>>d1;
  35.         getchar();
  36.         cin>>s>>y1;
  37.         d=y1*365+d1+GetHMonth(s)*20;
  38.         y2=d/260;
  39.         d2=d%260;
  40.         m2=d2%20;
  41.         d2=d2%13+1;
  42.         cout<<d2<<' '<<T[m2]<<' '<<y2<<endl;
  43.     }
  44.     return 0;
  45. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值