<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>日付セット - IQパズルステップ</title>
	<atom:link href="https://chokomon.com/tag/dateset/feed/" rel="self" type="application/rss+xml" />
	<link>https://chokomon.com</link>
	<description>ちょこっと頭を良くするIQパズル問題集</description>
	<lastBuildDate>Sat, 20 Aug 2022 19:05:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chokomon.com/wp-content/uploads/2022/02/cropped-icon512-32x32.png</url>
	<title>日付セット - IQパズルステップ</title>
	<link>https://chokomon.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【日付セット】翌営業日 - その1 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-09-00587/</link>
					<comments>https://chokomon.com/34-dateset-01-09-00587/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Sat, 20 Aug 2022 19:05:20 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6493</guid>

					<description><![CDATA[【日付セット】> 翌営業日 - その1 (paizaランク C 相当) [難易度: 1662 ±23] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/working_day_1" target="_blank" rel="noreferrer noopener">翌営業日 - その1 (paizaランク C 相当)</a> [難易度: <strong>1662 ±23</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img fetchpriority="high" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-09-01.png" alt="" class="wp-image-6494"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>M月D日d曜日の翌営業日の日付を表示してください。</p>



<p>営業日には、次のルールがあります。</p>



<p>・営業日は、月曜日から金曜日とし、休業日は、土曜日と日曜日とします。<br>・休業日は土曜日と日曜日のみです。例えば、祝日の「海の日」は月曜日ですが、営業日とします。</p>



<p>日付には、次のルールがあります。</p>



<p>・全ての年の2月28日の翌日は、3月1日とします。うるう年は考慮しません。</p>



<p></p>



<p><strong>入力値（例）</strong><br>12 31 MON</p>



<p><strong>出力値（例）</strong><br>1月1日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($m, $d, $dd) = explode(" ", trim(fgets(STDIN)));
    
    if ($dd == "FRI") {
        $d += 3;
    } else if ($dd == "SAT") {
        $d += 2;
    } else {
        $d += 1;
    }
    
    if ($m == 1 || $m == 3 || $m == 5 || $m == 7
        || $m == 8 || $m == 10 || $m == 12) {
        if ($d &gt; 31) {
            if ($m == 12) {
                $m = 1;
                $d -= 31;
            } else {
                $m++;
                $d -= 31;
            }
        }
        
    } else if ($m == 2) {
        if ($d &gt; 28) {
            $m++;
            $d -= 28;
        }
        
    } else if ($m == 4 || $m == 6 || $m == 9 || $m == 11) {
        if ($d &gt; 30) {
            $m++;
            $d -= 30;
        }
    }
    
    printf("%d月%d日", $m, $d);
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-09-02.png" alt="" class="wp-image-6495"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-09-00587/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】曜日(large) (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-07-00584/</link>
					<comments>https://chokomon.com/34-dateset-01-07-00584/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Thu, 18 Aug 2022 17:50:25 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1800]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6461</guid>

					<description><![CDATA[【日付セット】&#62; 曜日(large) (paizaランク B 相当)&#160;[難易度:&#160;1850&#160;±26] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 別解 YouTubeの問題…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】&gt; <a href="https://paiza.jp/works/mondai/dateset/day_of_week_large" target="_blank" rel="noreferrer noopener">曜日(large) (paizaランク B 相当)</a>&nbsp;[難易度:&nbsp;<strong>1850&nbsp;±26</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-07-01.png" alt="" class="wp-image-6462"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦y年m月d日が何曜日か表示してください。</p>



<p>ただし、各月の日数は以下のように決まることに注意してください。<br>・4, 6, 9, 11月は30日<br>・2月は閏年ならば29日、そうでなければ28日<br>・それ以外の月は31日</p>



<p>ただし、閏年は次のような年のことをいいます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年</p>



<p>ただし、1800年1月1日は水曜日です。</p>



<p>参考:&nbsp;<a href="https://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A7%E3%83%A9%E3%83%BC%E3%81%AE%E5%85%AC%E5%BC%8F#%E3%83%95%E3%82%A7%E3%82%A2%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%81%AE%E5%85%AC%E5%BC%8F" target="_blank" rel="noreferrer noopener">ツェラーの公式#フェアフィールドの公式</a></p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 4 9<br><br><strong>出力値（例）</strong><br>火曜日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));
    
    $Zeller = function($y, $m, $d, $flg = false) {
        if($m &lt;= 2) {
            $m += 12;
            $y -= 1;
        }
        
    $wd = array("日", "月", "火", "水", "木", "金", "土");
    
    $g = ($y+(int)($y/4)-(int)($y/100)+(int)($y/400)+(int)(((13 * $m) +8)/5)+$d)%7;
        return $flg ? sprintf("%s曜日\n", $wd[$g]) : $g;
    };
    
    printf($Zeller($y, $m, $d, true));
 ?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-07-02.png" alt="" class="wp-image-6463"/></figure>



<h2 class="wp-block-heading">別解</h2>



<p>YouTubeの問題解説動画(<a rel="noreferrer noopener" href="https://www.youtube.com/watch?v=492L9rE95uo" target="_blank">https://www.youtube.com/watch?v=492L9rE95uo</a>）からPHPに書き起こしました。PHPだとlong型が使えないので、タイムオーバー回避を使っています。</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($year, $month, $day) = explode(" ", trim(fgets(STDIN)));
    
    $year = $year % 400 + 2000; //タイムオーバー回避用：400年おきだと曜日は変わらない
    
    function isLeap($year) {
        return $year % 400 == 0 || $year % 100 != 0 &amp;&amp; $year % 4 == 0;
    }
    
    function lastDay($year, $month) {
        switch($month) {
            case 2:
                if (isLeap($year)) {
                    return 29;
                } 
                else {
                    return 28;
                }
            case 4:
            case 6:
            case 9:
            case 11:
                return 30;
            default:
                return 31;
        }
    }
    
    function nextDate($year, $month, $day) {
        $day++;
        if ($day &gt; lastDay($year, $month)) {
            $day = 1;
            $month++;
        }
        if ($month &gt; 12) {
            $month = 1;
            $year++;
        }
        return $a = array($year, $month, $day);
    }
    
    function countDay($year, $month, $day) {
        $y = 1800; $m = 1; $d = 1;
        $count = 0;
        while (!($y == $year &amp;&amp; $m == $month &amp;&amp; $d == $day)) {
            //1日ずつ先に進める
            $date = nextDate($y, $m, $d);
            $y = $date[0];
            $m = $date[1];
            $d = $date[2];
            $count++;
        }
        return $count;
    }
    
    // 1800年1月1日（水）から数えて、y年m月d日が何日先か
    $count = countDay($year, $month, $day);
    
    // 0:水　1:木　2:金　3:土　4:日　5:月　6:火　7:水（0と同じ）
    $days_of_week = array("水", "木", "金", "土", "日", "月", "火");
    
    printf("%s曜日", $days_of_week[$count % 7]);
?&gt;</pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-07-00584/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】曜日 (paizaランク B)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-06-00583/</link>
					<comments>https://chokomon.com/34-dateset-01-06-00583/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Thu, 18 Aug 2022 16:54:25 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクB]]></category>
		<category><![CDATA[難易度-1600]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6454</guid>

					<description><![CDATA[【日付セット】> 曜日 (paizaランク B 相当) [難易度: 1617 ±19] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/day_of_week" target="_blank" rel="noreferrer noopener">曜日 (paizaランク B 相当)</a> [難易度: <strong>1617 ±19</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-06-01.png" alt="" class="wp-image-6455"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦y年m月d日が何曜日か表示してください。</p>



<p>ただし、各月の日数は以下のように決まることに注意してください。<br>・4, 6, 9, 11月は30日<br>・2月は閏年ならば29日、そうでなければ28日<br>・それ以外の月は31日</p>



<p>ただし、閏年は次のような年のことをいいます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年</p>



<p>ただし、1800年1月1日は水曜日です。</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 4 8</p>



<p><strong>出力値（例）</strong><br>月曜日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));

    function isleap($y) {
        return ($y % 4 == 0 &amp;&amp; $y % 100 != 0) || $y % 400 == 0;
    }

    $str_of_weekday = array("日", "月", "火", "水", "木", "金", "土");
    $weekday = 2;
    
    for ($i = 1800; $i &lt; $y; $i++) {
        $weekday += isleap($i) ? 366 : 365;
    }
    
    $days_of_month = array(0, 31,
        isleap($y) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    
    for ($i = 1; $i &lt; $m; $i++) {
        $weekday += $days_of_month[$i];
    }
    
    $weekday += $d;
     
    printf("%s曜日\n", $str_of_weekday[$weekday % 7]);
 ?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-06-02.png" alt="" class="wp-image-6456"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-06-00583/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】次の日 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-05-00582/</link>
					<comments>https://chokomon.com/34-dateset-01-05-00582/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 21:47:42 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6442</guid>

					<description><![CDATA[【日付セット】&#62; 次の日 (paizaランク C 相当)&#160;[難易度:&#160;1576&#160;±17] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例 別解（公式の解答をPHPに変換） どう…]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】&gt; <a rel="noreferrer noopener" href="https://paiza.jp/works/mondai/dateset/tomorrow" target="_blank">次の日 (paizaランク C 相当)</a>&nbsp;[難易度:&nbsp;<strong>1576&nbsp;±17</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-05-01.png" alt="" class="wp-image-6443"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦y年m月d日の次の日を表示してください。</p>



<p>ただし、各月の日数は以下のように決まることに注意してください。<br>・4, 6, 9, 11月は30日<br>・2月は閏年ならば29日、そうでなければ28日<br>・それ以外の月は31日</p>



<p>ただし、閏年は次のような年のことをいいます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 4 4</p>



<p><strong>出力値（例）</strong><br>2019 4 5</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));
    
    if ($y % 4 == 0 &amp;&amp; ($y % 100 != 0 || $y % 400 == 0) 
        &amp;&amp; $m == 2 &amp;&amp; $d == 29) {
        printf("%d %d %d", $y, 3, 1);
    
    } else {
        if (($m == 4 || $m == 6 || $m == 9 || $m == 11) &amp;&amp; $d == 30) {
            printf("%d %d %d", $y, $m+1, 1);
            
        } elseif ($m == 2 &amp;&amp; $d == 28) {
            printf("%d %d %d", $y, 3, 1);
            
        } elseif ($m == 12 &amp;&amp; $d == 31) {
            printf("%d %d %d", $y+1, 1, 1);
        
        } elseif ($d == 31) {
            printf("%d %d %d", $y, $m+1, 1);
            
        } else {
            printf("%d %d %d", $y, $m, $d+1);
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-05-02.png" alt="" class="wp-image-6452"/></figure>



<h2 class="wp-block-heading">別解（公式の解答をPHPに変換）</h2>



<p>どうしても、ifでちまちま分岐しているのが納得いかなくて、公式の解答（C++）を参考に作ってみました。年末か月末で条件分岐していてすっきりしています。</p>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));
    
    function isleap($y) {
        return ($y % 4 == 0 &amp;&amp; $y % 100 != 0) || $y % 400 == 0;
    }

    if ($m == 12 &amp;&amp; $d == 31) {
        printf("%d %d %d", $y+1, 1, 1);
        
    } else {
        $days_of_month = array(0, 31, 
            isleap($y) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        $end_of_month = $days_of_month[$m] == $d;

        if ($end_of_month) {
            printf("%d %d %d", $y, $m+1, 1);
            
        } else {
            printf("%d %d %d", $y, $m, $d+1);
        }
    }
?&gt;</pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-05-00582/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】月の日数 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-04-00581/</link>
					<comments>https://chokomon.com/34-dateset-01-04-00581/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 19:28:26 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6435</guid>

					<description><![CDATA[【日付セット】> 月の日数 (paizaランク C 相当) [難易度: 1510 ±16] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/days_in_a_month" target="_blank" rel="noreferrer noopener">月の日数 (paizaランク C 相当)</a> [難易度: <strong>1510 ±16</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-04-01.png" alt="" class="wp-image-6436"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦y年m月の月の日数を計算して表示してください。</p>



<p>ただし、各月の日数は以下のように決まることに注意してください。<br>・4, 6, 9, 11月は30日<br>・2月は閏年ならば29日、そうでなければ28日<br>・それ以外の月は31日</p>



<p>ただし、閏年は次のような年のことをいいます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 4</p>



<p><strong>出力値（例）</strong><br>30</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m) = explode(" ", trim(fgets(STDIN)));
    
    if ($y % 4 == 0 &amp;&amp; ($y % 100 != 0 || $y % 400 == 0) &amp;&amp; $m == 2) {
            echo 29;
    
    } else {
        if ($m == 4 || $m == 6 || $m == 9 || $m == 11) {
            echo 30;
            
        } elseif ($m == 2) {
            echo 28;
            
        } else {
            echo 31;
        }
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-04-02.png" alt="" class="wp-image-6437"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-04-00581/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】西暦の和暦変換2 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-03-00580/</link>
					<comments>https://chokomon.com/34-dateset-01-03-00580/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 18:55:43 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1700]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6428</guid>

					<description><![CDATA[【日付セット】> 西暦の和暦変換2 (paizaランク C 相当) [難易度: 1790 ±19] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/ad_to_era2" target="_blank" rel="noreferrer noopener">西暦の和暦変換2 (paizaランク C 相当)</a> [難易度: <strong>1790 ±19</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-03-01.png" alt="" class="wp-image-6429"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦年y、月m、日付dが与えられるので、和暦で表示してください。</p>



<p>和暦は、以下の条件を確認し、西暦から変換してください。<br>・明治は1912年7月29日まで<br>・大正は1912年7月30日から1926年12月24日まで<br>・昭和は1926年12月25日から1989年1月7日まで<br>・平成は1989年1月8日から2019年4月30日まで<br>・令和は2019年5月1日から</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 5 1</p>



<p><strong>出力値（例）</strong><br>令和元年5月1日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));
    
    $buf = $y*10000+$m*100+$d;
    
    if ($buf &lt;= 19120729) {
        if ($y-1868 == 0) {
            printf("明治元年%d月%d日", $m, $d);
        } else {
            printf("明治%d年%d月%d日", $y-1868+1, $m, $d);
        }
        
    } elseif (19120730 &lt;= $buf &amp;&amp; $buf &lt;= 19261224) {
        if ($y-1912 == 0) {
            printf("大正元年%d月%d日", $m, $d);
        } else {
            printf("大正%d年%d月%d日", $y-1912+1, $m, $d);
        }
        
    } elseif (19261225 &lt;= $buf &amp;&amp; $buf &lt;= 19890107) {
        if ($y-1926 == 0) {
            printf("昭和元年%d月%d日", $m, $d);
        } else {
            printf("昭和%d年%d月%d日", $y-1926+1, $m, $d);
        }
        
    } elseif(19890108 &lt;= $buf &amp;&amp; $buf &lt;= 20190430) {
        if ($y-1989 == 0) {
            printf("平成元年%d月%d日", $m, $d);
        } else {
            printf("平成%d年%d月%d日", $y-1989+1, $m, $d);
        }
        
    } elseif(20190501 &lt;= $buf) {
        if ($y-2019 == 0) {
            printf("令和元年%d月%d日", $m, $d);
        } else {
            printf("令和%d年%d月%d日", $y-2019+1, $m, $d);
        }        
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-03-02.png" alt="" class="wp-image-6430"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-03-00580/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】西暦の和暦変換 (paizaランク C)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-02-00579/</link>
					<comments>https://chokomon.com/34-dateset-01-02-00579/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 18:42:04 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクC]]></category>
		<category><![CDATA[難易度-1700]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6421</guid>

					<description><![CDATA[【日付セット】> 西暦の和暦変換 (paizaランク C 相当) [難易度: 1718 ±15] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a href="https://paiza.jp/works/mondai/dateset/ad_to_era" target="_blank" rel="noreferrer noopener">西暦の和暦変換 (paizaランク C 相当)</a> [難易度: <strong>1718 ±15</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-02-01.png" alt="" class="wp-image-6422"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦年y、月m、日付dが与えられるので、和暦の元号を表示してください。</p>



<p>和暦は、以下の条件を確認し、西暦から変換してください。<br>・明治は1912年7月29日まで<br>・大正は1912年7月30日から1926年12月24日まで<br>・昭和は1926年12月25日から1989年1月7日まで<br>・平成は1989年1月8日から2019年4月30日まで<br>・令和は2019年5月1日から</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019 5 1</p>



<p><strong>出力値（例）</strong><br>令和年5月1日</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    list($y, $m, $d) = explode(" ", trim(fgets(STDIN)));
    
    $buf = $y*10000+$m*100+$d;

    if ($buf &lt;= 19120729) {
        printf("明治年%d月%d日", $m, $d);
             
    } elseif (19120730 &lt;= $buf &amp;&amp; $buf &lt;= 19261224) {
        printf("大正年%d月%d日", $m, $d);
        
    } elseif (19261225 &lt;= $buf &amp;&amp; $buf &lt;= 19890107) {
        printf("昭和年%d月%d日", $m, $d);
    
    } elseif(19890108 &lt;= $buf &amp;&amp; $buf &lt;= 20190430) {
        printf("平成年%d月%d日", $m, $d);
        
    } elseif(20190501 &lt;= $buf) {
        printf("令和年%d月%d日", $m, $d);
    }
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-02-02.png" alt="" class="wp-image-6423"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-02-00579/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【日付セット】閏年の判定 (paizaランク D)-解答例-PHP編</title>
		<link>https://chokomon.com/34-dateset-01-01-00578/</link>
					<comments>https://chokomon.com/34-dateset-01-01-00578/#respond</comments>
		
		<dc:creator><![CDATA[東鳥子]]></dc:creator>
		<pubDate>Wed, 17 Aug 2022 17:48:51 +0000</pubDate>
				<category><![CDATA[paiza-問題集]]></category>
		<category><![CDATA[日付セット]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ランクD]]></category>
		<category><![CDATA[難易度-1500]]></category>
		<guid isPermaLink="false">https://chokomon.com/?p=6414</guid>

					<description><![CDATA[【日付セット】> 閏年の判定 (paizaランク D 相当) [難易度: 1525 ±12] ※リンク先へ移動するためには[paiza]へのログインが必要です。 解答例]]></description>
										<content:encoded><![CDATA[
<p>【<a href="https://chokomon.com/paiza_mondai/paiza_set/34-dateset/">日付セット</a>】> <a rel="noreferrer noopener" href="https://paiza.jp/works/mondai/dateset/leap_year" target="_blank">閏年の判定 (paizaランク D 相当)</a> [難易度: <strong>1525 ±12</strong>]



<p>※リンク先へ移動するためには[<a href="https://paiza.jp/works" target="_blank" rel="noreferrer noopener">paiza</a>]へのログインが必要です。</p>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="300" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-01-01.png" alt="" class="wp-image-6415"/></figure>



<div class="wp-block-dvaux-frame sc_frame_wrap inline"><div class="sc_frame_title inline" style="background-color:#ccc">問題文</div><div class="sc_frame" style="background-color:#fff;border-color:#ccc">
<p>西暦yが与えられるので、閏年ならYesを、平年ならばNoを出力してください。</p>



<p>閏年か平年かは次のような条件によって判定することができます。<br>・西暦が4で割り切れる年は閏年<br>・ただし、100で割り切れる年は平年<br>・ただし、400で割り切れる年は閏年<br>・西暦が4で割り切れない年は平年</p>



<p></p>



<p><strong>入力値（例）</strong><br>2019</p>



<p><strong>出力値（例）</strong><br>No</p>
</div></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">解答例</h2>



<div class="wp-block-urvanov-syntax-highlighter-code-block"><pre class="urvanov-syntax-highlighter-plain-tag">&lt;?php
    $y = trim(fgets(STDIN));
    
    echo ($y % 4 == 0 &amp;&amp; ($y % 100 != 0 || $y % 400 == 0)) ? 
        "Yes" : "No";
?&gt;</pre></div>



<div style="height:30px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image aligncenter size-full"><img loading="lazy" decoding="async" width="660" height="160" src="https://chokomon.com/wp-content/uploads/2022/08/34-01-01-02.png" alt="" class="wp-image-6416"/></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://chokomon.com/34-dateset-01-01-00578/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
