結果

問題 No.188 HAPPY DAY
コンテスト
ユーザー Cassian Russell-Hart
提出日時 2026-01-23 23:22:45
言語 C
(gcc 15.2.0)
結果
AC  
実行時間 1 ms / 1,000 ms
コード長 856 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 409 ms
コンパイル使用メモリ 38,796 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-01-23 23:23:13
合計ジャッジ時間 844 ms
ジャッジサーバーID
(参考情報)
judge6 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>

// 1〜12月の日数(2015年はうるう年ではない)
static const int days_in_month[13] = {
    0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};

// 各桁の和を求める関数
int digit_sum(int n) {
    int sum = 0;
    while (n > 0) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}

int main() {
    int count = 0;
    
    // 1月〜12月
    for (int month = 1; month <= 12; month++) {
        // その月の日数
        int max_day = days_in_month[month];
        
        for (int day = 1; day <= max_day; day++) {
            // Y(日)の各桁の和
            int sum = digit_sum(day);
            
            // X(月)と等しければHAPPY DAY
            if (sum == month) {
                count++;
            }
        }
    }
    
    printf("%d\n", count);
    return 0;
}
0