Placing Marbles 解けてません!!!!!(解けました!!!加筆済み)

ABC081A - Placing Marbles https://atcoder.jp/contests/abs/tasks/abc081_a?lang=ja

C言語で解く予定です。わっからなあああああああああああい

2020/07/18/0:33 解決しました。

スクリーンショット 2020-07-18 0.32.24

やりたいこと としては以下の点です。

①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;
}





この記事が気に入ったらサポートをしてみませんか?