学年

教科

質問の種類

情報 大学生・専門学校生・社会人

c言語プログラム 本当に分かりません。 どなたか教えてください

(2点) 【演習3】 if-else と繰り返し文 最大値(整数)と整数xをキー入力すると、1から最大値までの整数を順に表示するプログラムを if-else 文および for文を使って作成せよ。 ただし、最大値が10~50以外の場合、または整数 x が 2~9以外で 入力された場合は、「範囲エラー」 を表示すること。 また、1から最大値までの整数を表示する際、表示 する整数が整数xで割り切れる場合は を、 割り切れない場合はその整数を表示すること。 xで割り切れる値は☆を表示 <ソースプログラム> #include <stdio.h> int main (void){ イント2 ント5 } printf("最大値: "); /* 変数宣言*/ return 0; printf(" 整数x: "); cats ; /*キー入力*/ // *キー入力*/ <実行例①> |最大値: 10 ↓ 整数x2↓ 13579☆ <実行例②> |最大値: 50 ↓ 整数x 91 12345678 10 11 12 13 14 15 16 17 19 | 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 ★ 37 38 39 40 41 42 43 44 46 47 48 49 50 <実行例③> 最大値: 9 整数x2↓ 範囲エラー <実行例⑤ > 最大値: 10 ↓ 整数X : 1↓ 範囲エラー <実行例④ > | 最大値: 51 ↓ 整数X ↓ 範囲エラー <実行例⑥ > 最大値: 50 ↓ 整数x : 10↓ 範囲エラー (下線部はキー入力を、↓は Enter を示す)

未解決 回答数: 1
公務員試験 大学生・専門学校生・社会人

この問題のstep2までは理解できたのですが、step3が理解できません。 最終結果がA50,B78ということから、最後にA100,B28になることは理解できたのですが、1つ前にBが負けることや、2つ前にBが負けること、3つ前にBが勝つこと、4つ前にBが勝つことがどうして... 続きを読む

S (初戦) 3回 5 回 7回 4 9回 5 11 回 んを行って、勝った人が負けた人の手持ちのコインの半分をもらうこ 123 とにする。 何回かじゃんけんを行った後, コインの枚数はAが50枚. 2 練習問題 ⑤ Bが78枚となった。このとき2人は何回じゃんけんを行ったか。 【H26 地方上級】 Step ① まずは問題を整理しよう たとえば、初戦でAが勝つとすると, B は 64 枚の半 分の32枚をAに渡すことになり, A が 96 枚,B が 32 枚になります。 次の2戦目でBが勝つとすると,Aは 6枚の半分の48枚をBに渡すことになり,A が 48枚, Bが80枚になります。 AO64 → A96 32 Bx64 B32 (2戦目) Ax96 → A48 48 BO32 → B80 しかし,このようにやみくもに試行を重ねても答えに はなかなかたどり着けませんね。 step ② 逆転の発想 最終的に A が 50枚,Bが78枚になったということ がわかっているのですから、 逆にさかのぼっていきまし = 64 ょう。 最後にどちらが勝ったかわかりますか? 最後にAが勝っていたとして考えてみましょう。 B は半分になってしまうのですから、最後にじゃんけんを 96 する前には78×2156 〔枚〕 持っていて, その半分の 48 第6章 逆転の発想で正答が見える! 最終結果から さかのぼる 練習問題 ④ でもそうでした が、 最終結果があたえられ ている問題では逆にさかの ぼって考えることが必勝パ ターンです。 247

未解決 回答数: 1