No.3ベストアンサー
- 回答日時:
うるう年は
4で割れて100で割れない時or400で割れる時なので
↓ではないでしょうか?
($year%4==0 && $year%100!=0 || $year%400==0)
だとおもいます。
Perlは専門外なので
「orが||で &&優先カッコ不要ならば」ですけど。
No.4
- 回答日時:
考え方として、
400で割り切れるものは100でも4でも割り切れますので、
それがひとつの判断式に入っているのはおかしいですね。
(100で割り切れないものが400で割り切れる事もありません)
ご質問の式を一言でまとめてしまうと、
「400で割り切れたらうるう年だ」
という事しか言っていない事になります。
集合で考えてみましょう。。
4で割り切れる数の集合があります。
その中から100で割り切れる数の集合を非うるう年とし、
その中から400で割り切れる数の集合をやっぱりうるう年とします。
うるう年の判定は「結局この年はどこの集合に属するのかい?」という
判断をするという事です。
という事を踏まえて考え直してみてはいかがでしょうか。
せっかくですから、ご自分で考えてみるのもいいのではないかと。
No.2
- 回答日時:
うるう年かどうかだけの判断でなく、2月の日数も設定するならこうではないでしょうか?
@cdays = (0,31,28,31,30,31,30,31,31,30,31,30,31);
if (($year % 4) == 0){
if (($year %100) != 0){
$cdays[2] = 29;
}elsif (($year % 400) == 0){
$cdays[2] = 29;
}
}
No.1
- 回答日時:
Pealを知らないのに口出しして恐縮ですが、
多分ですが、
($year%4==0 && $year%100!=0 && $year%400==0);
これだと、
「4で割り切れる」かつ「100で割り切れない」かつ「400で割り切れる」
ですよね。
問題は「400で割り切れる」場合ですが、「100で割り切れない」でOUTになってしまうと思います。
『4で割り切れる』かつ『「100で割り切れない」または「400で割り切れる」』
となるようにしないといけないのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Perlで日付を取得する
-
日付の差分の求め方(日、分)
-
perlでcheckboxがうまく整理で...
-
JSONで文字列が長い時
-
Application.ScreenUpdating = ...
-
ACCESS テキストボックスを隙...
-
formで特定のinputを送信しない...
-
セレクトメニューで2つの項目...
-
[python] 文字列を変数名として...
-
VB6で、長い時間かかる処理...
-
実行時エラー 3020の対策
-
フリーCGI ラジオボタンの改行...
-
<SELECT>タグの折り返し
-
pythonの*
-
【至急!!!】python言語で本を見...
-
16進の10進変換について
-
FindFirst を複数条件で検索
-
CGIから複数の別プログラムを同...
-
linq で 楽天ウェブサービスのX...
-
構造体の各データの表示につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
おすすめ情報