Placing Marbles 解けてません!!!!!(解けました!!!加筆済み)
ABC081A - Placing Marbles https://atcoder.jp/contests/abs/tasks/abc081_a?lang=ja
C言語で解く予定です。わっからなあああああああああああい
2020/07/18/0:33 解決しました。
やりたいこと としては以下の点です。
①3桁の整数(以下a)として認識する。
②-1. a ÷ 100を整数として処理することで百の位のみを取り出す(以下b)
②-2. a ÷ 10 -b *100 十の位を取り出す(以下c)
//2020/7/18加筆 ②-2の部分が誤っていました。正しくは
a ÷ 10 - b * 10←十分の一になっているのでbは百倍ではなく十倍が正しいです。
③-3 a - b * 100 - c * 10 一の位を取り出す(以下d)
④ b + c + d を行うことで桁数の和を求める。
が、失敗してます。なんで????
以下コードです。(修正済みのコードは一番下です)
#include <stdio.h>
int main(void){
int a = 0,b = 0,c = 0,d = 0,e = 0;
scanf("%d",&a);
b = a / 100;
c = a / 10 - b *100;
d = a - b * 100 - c * 10;
e = b + c + d;
printf("%d\n",e);
return 0;
}
テスト
入力:結果
000:0
001:1
011:2
010:1
111:813
110:812
100:811
百の位を処理するところでコードがあばれてるのかな?考え直します。
修正済みコード
#include <stdio.h>
int main(void){
int a = 0,b = 0,c = 0,d = 0,e = 0;
scanf("%d",&a);
b = a / 100;
c = a / 10 - b *10;
d = a - b * 100 - c * 10;
e = b + c + d;
printf("%d\n",e);
return 0;
}
この記事が気に入ったらサポートをしてみませんか?