注意
・AtCoderのabc001_B - 視程の通報ネタバレあり。
・間違っていたら教えてください!
学んだこと
・リーディングゼロの指定を理解してACできた。参考にした記事
【問題文抜粋】
0.1km 以上 5km 以下:距離 (km) を 10 倍した値とする。1 桁の場合は上位に 0 を付す。
例えば、2,000m =2.0km ならば、VVは 20 である。同じく、200mの場合VVは 02 である。
【解説】
・1 桁の場合は上位に 0 を付す。(要するに十の位に0をつける)
という指示なのでリーディングゼロの指定を使って2桁になるように表示する。
・標準入力が100〜900までを1000で割り算すると1桁になるのでリーディングゼロの指定が適応される。標準入力の値が1000以上だと1000で割った答えが2桁以上になるのでリーディングゼロの指定を使っていても適応されないから以下の条件分岐ACできる。
ACしたコード
#include <stdio.h>
int main(void)
{
int m;
scanf("%d",&m);
// printf("%d\n",m);
if(m < 100){
printf("00\n");
} else if(100 <= m && m <= 5000){
//ここでリーディングゼロの指定を使ってる。
printf("%02d\n",m / 100);
} else if(6000 <= m && m <= 30000){
printf("%d\n",m / 1000 + 50);
} else if(35000 <= m && m <= 70000){
printf("%d\n",((m / 1000) - 30) / 5 + 80);
} else if(70000 < m){
printf("89\n");
}
return (0);
}