質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

752閲覧

鶴亀算の応用問題 4つの値での考察

knkotaro1220

総合スコア21

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2021/11/19 02:13

編集2021/11/22 07:07
コード ```現在、下記問題に取り組んでおりますが難航しており、 ご教授お願い致します。 下記の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(); }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

knkotaro1220

2021/11/19 02:17

前回は硬貨の合計金額だけを合わせておりましたが、 今回は硬貨の枚数を投入時と同じようにしたいです。 しかし硬貨の種別は投入時とは違うものにしたいです。
Zuishin

2021/11/19 02:22 編集

質問と聞きたいことが一致してないし、前回のが解決しないうちに聞くことでもない。 解いてもらいたいだけならそういう聞き方もあるだろうけど、ここはそういう作業をしてもらうところじゃない。
knkotaro1220

2021/11/19 02:35

ここは初心者は質問してはいけないのでしょうか。 だとしたら運営が登録をさせるべきではないと思いますが。 分からないことを2日も3日も悩む時間があったら数こなした方がいいと思って質問をしております。 答える気がないのならいちいちコメントしないでもらえますか?? 適正な質問でないのなら運営が質問の削除やBANするのではないのでしょうか。
BeatStar

2021/11/19 03:56

> ここは初心者は質問してはいけないのでしょうか。 別に初心者だからとかではありませんよ。でも、ここは『エンジニア(や玄人志向の人)向けのもの』です。 つまり、『自分なりに考えたり、自分なりに調べたり、自分なりにコーディングやデバッグしたりしても解決できなかったときに頼る最後の場所』のようなものです。 ご自分の質問を『第三者的視点で』、フラットな状態で読んでみてください。 『どのようにやった』『どのように考えた』『どのように調べた』等々がわかりますか? 回答者は質問者ではありません。提示された情報からしか読み取れません。 なので、『自分なりの解釈』とか『自分なりのコード』等を出すだけでもだいぶ印象が変わります。 初心者だから…ではなく、『初心者だから俺様に優しくしろ』みたいな感じのがアレなのでは? 初心者でも『自分なりの解釈』とかは出せるはずです。どのように調べたとかも。
BeatStar

2021/11/19 03:58

あと、タグに『関数型プログラミング』とありますが、本当に関数型の言語でしょうか? パターン的に単なる関数とかでは? (かなりそのパターンが多い) 本当に関数型を取り入れている言語でやっているのなら、『関数型』ではなく、言語名にしてください。『Go言語』とか。(言語名は適当に出しましたが)
BeatStar

2021/11/19 04:04 編集

> 自動販売機に入ったお金の枚数と合計金額が同じように とありますが、これはどういう意味でしょうか。合計金額が同じであればいい…というのはわかりますが、枚数が同じだが…というのがわかりません。 もしかして、合計枚数が。ってことでしょうか。それとも100円硬貨が10枚だったら常に10枚で。っていうことでしょうか。(おそらく前者だとは思うが、場合によっては違ったりするので)
knkotaro1220

2021/11/19 04:14

表記があいまいですみません。 合計枚数が同じという意味です。 ご教授お願い致します。
Zuishin

2021/11/19 04:15

初心者は勉強を始めた人のことで、課題を人にやらせる人のことじゃない。
knkotaro1220

2021/11/19 04:17

もうコメントしないでもらっていいですか。 運営に削除依頼も投げましたが、却下されました。 してはいけない質問ではないということではないでしょうか。 コメントが埋もれるのでここで終わりで(笑)
Zuishin

2021/11/19 04:19

もちろん無言で低評価を入れている人もいる。 その方がありがたいというならやっぱりただ宿題を丸投げしてるだけ。
Zuishin

2021/11/19 04:20 編集

もう宿題を丸投げしないでもらっていいですか。 価値ある質問が埋もれるのでここで終われ(笑)
knkotaro1220

2021/11/19 04:25

暇なんだね、わかったよわかったよ(笑)
Zuishin

2021/11/19 04:30

わかればよろしい(笑)
guest

回答1

0

問題をそのまま表現すれば:

1:「投入金額と返却金額は同じ」
500A + 100B + 50C + 10D = 500a + 100b + 50c + 10d

2:「投入枚数と返却枚数は同じ」
A + B + C + D = a + b + c + d

3:「上限枚数は99」
0 <= A <= 99
0 <= B <= 99
0 <= C <= 99
0 <= D <= 99

意味不明なので教えていただきたいです。

なにが意味不明なのかわからんです。

投稿2021/11/19 04:06

編集2021/11/19 04:07
episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaina

2021/11/19 07:42

1と3はその通りだと思いますが、2は問題文の以下の内容と一致しないのでは? >(投入されたときの各硬貨の枚数とは一致しない) 例えば、10円玉を10枚入れて、何も購入せずに返却ボタンを押したら100円玉1枚を返却すると理解しました。 その場合、2は成立しないかと。
fana

2021/11/19 08:01

> 例えば、10円玉を10枚入れて、何も購入せずに返却ボタンを押したら100円玉1枚を返却すると理解しました。 それだと前の質問の内容と同じになってしまうのでは. https://teratail.com/questions/369851
fana

2021/11/19 08:11 編集

> (投入されたときの各硬貨の枚数とは一致しない) が数式として表れてないですね. この話の意味あいが ( A!=a && B!=b && C!=c && D!=d ) なのか, !( A==a && B==b && C==c && D==d ) なのか,わかりませんが…… (この問題においてはどっちでも同じか?)
episteme

2021/11/19 08:18 編集

2は成立しないかと。-> だったら↑にあるいずれかを条件として追加/変更すりゃいいんでしょ? なんにせよ与えられた条件を数式で表現するだけなんですが、なにが意味不明なんですか?
fana

2021/11/19 08:18

条件2の存在だけが前回との違い ということっぽいので, 10円10枚だけ投入された場合には「解無し」ですかね.
kaina

2021/11/19 08:20 編集

まあ、その通りですね。 中学レベルの方程式が解ければなんてことありません。 ⇒中学レベルじゃなくて小学レベルですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問