Comment detail

除算・余剰を使わずに閏年 (Nested Flatten)

こういうことかな?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
/*うるう年なら1、平年なら0を返す*/
int IsUruuDoshi(int year){
    int uruu=0;
    int uruu_check[]={800,400,100,40,4,0};    //800,40はループ数短縮用
    int count=0;
    while(uruu_check[count]){
        if(uruu==year){
            if(uruu_check[count]==100) return 0;
            else return 1;
        }
        if(uruu+uruu_check[count]>year){
            count++;
        }else{
            uruu+=uruu_check[count];
        }
    }
    return 0;
}

にしおさんのを見て引き算のがらくだと思ったので修正。

(失敗投稿を削除しておきましたby管理者)
投稿失敗しました・・・・
引き算に修正
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
int IsUruuDoshi(int year){
    int uruu_check[]={800,400,100,40,4,0};    //800,40はループ数短縮用
    int count=0;
    while(uruu_check[count]){
        if(year){
            if(uruu_check[count]>year){
                count++;
            }else{
                uruu-=uruu_check[count];
            }
        }else{
            if(uruu_check[count]==100) return 0;
            else return 1;
        }
    }
    return 0;
}

Index

Feed

Other

Link

Pathtraq

loading...