問題はこちら
No.188 HAPPY DAY - yukicoder
ちょっと考えればプログラムを回さなくても解ける
各日付に対し、HAPPY DAYとなるような月は存在すればただひとつに決まる。
1~28日は、12ヶ月いずれにも存在し、十の位と一の位の和が明らかに12以下になるので、必ず1つHAPPY DAYが対応する
29日は11月でOK、30日は3月でOK、31日は4月でNGとなるので、結局求める答えは30
a;main(){a=!puts("30");}
…Cでやる意味はあるのか
実際にプログラムで解くとしたらこうだろうか
int main(){ int i,j,s=0,d[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; for(i=1;i<=12;i++)for(j=1;j<=d[i];j++)if(i==j/10+j%10)s++; printf("%d",s); return 0; }