[ノース機械試験B] [OpenJ_Bailian-2965]:マヤ暦

先週末、教授MA雅は、古代マヤの主要な発見をしました。古い結び目(メモ用のMayaツール)からは、教授はMayaは365日のハアブ暦と呼ばれる暦年を、使用していることが分かりました。ハアブ暦のカレンダーは、月の名前がポップ19ヶ月、18ヶ月から始め、20日の月ですしている、いや、郵便番号、zotz、 tzec、XUL、yoxkin、モル、陳、YAX、ZAC、CEH、 マック、kankin、務安、PAX、 koyab、cumhu。月のこの日は、0-19で示されます。ハアブ暦は、それが0-4の表現で、たった5日間で、uayet先月に選ばれました。マヤは、この最小の日付は今月裁判所でも、家の床を掃除ない、人々が取引に従事していないことを聞いていない、不運月であることを信じていました。

宗教上の理由のために、Mayaは、別のカレンダーを使用するこのカレンダーは、中年ゾルキン(ヒイラギ)、年がデジタルで13回の別個の期間、20日の各期間、毎日に分割されているとして知られています単語の組み合わせの形で表されます。使用される数は1〜13、20の合計で使用される単語は、それらがされている:IMIX、IK、akbal、菅 、chicchan、CIMI、マニク、lamat、muluk、OK、シュー、EB、ベン、IX、MEM、CIB 、Cabanの、eznab、canac、アハウ 。注:1 IMIX、2 IK、3:毎日での明確な記述が、例えば、年の初めに、日付は、以下のように記載されている 、akbal、4館、5 chicchan、6 CIMI、7マニク、8 lamat 9 muluk、10 OK、11のシュー 、12 EB、13ベン、1つのIX、2 MEM、3 CIB、4 Cabanの、5 eznab、6 canac、7アハウ,, 8 IMIX、9 IK、10 akbal ...... すなわち数字や言葉が独立してリサイクル。

ハアブ暦とゾルキン数は年間0,1で使用されている、......世界の始まりを表す数値0を表します。:として表現された最初の日はそう
ハアブ暦:0 POP 0
ゾルキン:IMIX 1つの0
ヘルプ教授MA雅とカレンダーゾルキンハアブ暦のカレンダーを変換するプログラムを書きます。

InputHaabカレンダーデータは、次のようで表される
日の月数

最初の行は、ハアブ暦の日付の変換に入力されるデータの量を示します。各列の下に日付、以下5000年以上の数を表します。OutputTzolkinカレンダーのデータは、以下の方法によって表される:
日の名前の日数

最初の行のは、出力日付の数を示します。各行は、入力に対応する次のゾルキンカレンダー日付を表します。サンプル入力

3 
10. ZAC 0 
0 0ポップ
10. ZAC 1995

サンプル出力

3つの
3シュー0 
1 0 IMIX 
9 CIMI 2801の

水問題、プラスハアブ暦はわずかな増加先月uayetた月の初め、WA状況はまし。
1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <cmath>
 4の#include <cstdlib>
 5の#include <CStringの>
 6の#include < ストリング >
 7  使って 名前空間STDを、
8  INT N。
9  INT D1、D2、YEAR1、YEAR2。
10  文字列M1、M2;
11  ハアブ暦[ 20 ] = { " ポップ"" いいえ"" ZIP "" tzec "" XUL "" yoxkin "" モル"" "" YAX "" ZAC "" CEH "" MAC "" kankin "" 務安"" PAX "" koyab " cumhu "" uayet " }。
12  ストリング tzok [ 20 ] = { " IMIX "" IK "" akbal "" カン"" chicchan "" CIMI "" マニク"" lamat "" muluk "" OK "" シュー"" ベン"" IX "" MEM "" CIB "" Cabanの"" eznab "" canac "" アハウ" }。
13  INT メイン(){
 14      のscanf(" %d個"、&N)
15      のprintf(" %dの\ N " 、N)。
     ; I <N; ++ I){
 17          のscanf(" %dの。"、&D1)。
18          cinを>> M1。
19          cinを>> YEAR1。
20          // coutの<< D1 << "" << M1 <<」 "<< YEAR1 <<てendl; 
21          int型日= YEAR1 * 365 22          のためにINT J = 0 ; J < 20 ; ++ j)は{
 23              であれば(ハアブ暦[J] == M1){
 24                  日+ = J * 20 25                  ブレーク;
             }
 27          }
 28          日+ = D1。
29          YEAR2 =日/ 260 30          =日間%260 31          INT K1 =日間%13 32の          K1 ++ ;
33          INT K2 =日間%20 34          COUT << K1 << "  " << tzok [K2] << "  " << YEAR2 << ENDL。
35      }
 36 }

 

おすすめ

転載: www.cnblogs.com/mizersy/p/12231956.html