コード ```現在、下記問題に取り組んでおりますが難航しており、 ご教授お願い致します。 下記の4種類の硬貨が入る自動販売機があります。 500円 100円 50円 10円 何も商品を購入せずに返金ボタンを押下したときに 自動販売機に入ったお金の枚数と合計金額が同じように (投入されたときの各硬貨の枚数とは一致しない) お金を返却したいとき どのような方程式が成り立ちますでしょうか。 各硬貨の上限枚数は99枚です。 下記、検証したもののwhile文から抜けず 条件としては良いのかと思いましたが、 処理が多すぎるのか、条件式に問題があるのか いくつか試しましたが、抜けませんでした。 ご指摘お願い致します。 ```C# コード Maisuujougen = 99; TENKOUKA = 10; FIFTYKOUKA = 50; ONEHKOUKA = 100; FIVEHKOUKA = 500; Macine_soumaisuu : 投入された硬貨の枚数の総合計 Tounyukingaku : 投入された硬貨の総合計 Kari_goukei : 返却したい硬貨の総合計金額 Kari_Soumaisuu : 返却したい硬貨の総枚数合計 Random rnd = new Random(); //0~99の間で値を取得 a = rnd.Next(0, Maisuujougen+1);//10円枚数 //0~99の間で値を取得 b = rnd.Next(0, Maisuujougen+1);//50円枚数 //0~99の間で値を取得 c = rnd.Next(0, Maisuujougen+1);//100円枚数 //0~99の間で値を取得 d = rnd.Next(0, Maisuujougen+1);//500円枚数 //乱数によって得た値を仮合計金額として代入 Kari_goukei = a * TENKOUKA + b * FIFTYKOUKA + c * ONEHKOUKA + d * FIVEHKOUKA; //乱数によって得た枚数を代入 Kari_Soumaisuu = a + b + c + d; Macine_soumaisuu = Kari_fivehundred_maisuu + Kari_onehundred_maisuu + Kari_fifty_maisuu + Kari_ten_maisuu; Random_number(); //仮合計枚数 = 総枚数 且つ 仮合計金額 = 仮合計金額 bool A = Kari_Soumaisuu == Macine_soumaisuu ; bool D = Tounyukingaku == Kari_goukei; //500円枚数 + 100円枚数 = 50円枚数 + 10円枚数 bool B =d + c == b + a; //500円枚数 + 50円枚数 = 10円枚数 + 100円枚数 bool C =d + b == a + c; while (A && D && C || A && D && C) { Random_number(); }
https://teratail.com/questions/369851
同じ質問。
前回は硬貨の合計金額だけを合わせておりましたが、
今回は硬貨の枚数を投入時と同じようにしたいです。
しかし硬貨の種別は投入時とは違うものにしたいです。
質問と聞きたいことが一致してないし、前回のが解決しないうちに聞くことでもない。
解いてもらいたいだけならそういう聞き方もあるだろうけど、ここはそういう作業をしてもらうところじゃない。
ここは初心者は質問してはいけないのでしょうか。
だとしたら運営が登録をさせるべきではないと思いますが。
分からないことを2日も3日も悩む時間があったら数こなした方がいいと思って質問をしております。
答える気がないのならいちいちコメントしないでもらえますか??
適正な質問でないのなら運営が質問の削除やBANするのではないのでしょうか。
> ここは初心者は質問してはいけないのでしょうか。
別に初心者だからとかではありませんよ。でも、ここは『エンジニア(や玄人志向の人)向けのもの』です。
つまり、『自分なりに考えたり、自分なりに調べたり、自分なりにコーディングやデバッグしたりしても解決できなかったときに頼る最後の場所』のようなものです。
ご自分の質問を『第三者的視点で』、フラットな状態で読んでみてください。
『どのようにやった』『どのように考えた』『どのように調べた』等々がわかりますか?
回答者は質問者ではありません。提示された情報からしか読み取れません。
なので、『自分なりの解釈』とか『自分なりのコード』等を出すだけでもだいぶ印象が変わります。
初心者だから…ではなく、『初心者だから俺様に優しくしろ』みたいな感じのがアレなのでは?
初心者でも『自分なりの解釈』とかは出せるはずです。どのように調べたとかも。
あと、タグに『関数型プログラミング』とありますが、本当に関数型の言語でしょうか?
パターン的に単なる関数とかでは?
(かなりそのパターンが多い)
本当に関数型を取り入れている言語でやっているのなら、『関数型』ではなく、言語名にしてください。『Go言語』とか。(言語名は適当に出しましたが)
> 自動販売機に入ったお金の枚数と合計金額が同じように
とありますが、これはどういう意味でしょうか。合計金額が同じであればいい…というのはわかりますが、枚数が同じだが…というのがわかりません。
もしかして、合計枚数が。ってことでしょうか。それとも100円硬貨が10枚だったら常に10枚で。っていうことでしょうか。(おそらく前者だとは思うが、場合によっては違ったりするので)
表記があいまいですみません。
合計枚数が同じという意味です。
ご教授お願い致します。
初心者は勉強を始めた人のことで、課題を人にやらせる人のことじゃない。
もうコメントしないでもらっていいですか。
運営に削除依頼も投げましたが、却下されました。
してはいけない質問ではないということではないでしょうか。
コメントが埋もれるのでここで終わりで(笑)
もちろん無言で低評価を入れている人もいる。
その方がありがたいというならやっぱりただ宿題を丸投げしてるだけ。
もう宿題を丸投げしないでもらっていいですか。
価値ある質問が埋もれるのでここで終われ(笑)
暇なんだね、わかったよわかったよ(笑)
わかればよろしい(笑)