与式 108 x + 110 y = 5000 に対し x,yは0以上の正の整数 与式を変形し x = (5000 - 110 y) / 108 5000 - 110 y > 0 だから 0 ≦ y ≦ 45 以上より46回計算すれば済みます。
Excel VBAのマクロコードですいませんが、 Sub Macro1() a = 1 For y = 0 To 45 xmod = (5000 - 110 * y) Mod 108 If xmod = 0 Then x = (5000 - 110 * y) / 108 Cells(a, 1) = x Cells(a, 2) = y a = a + 1 End If Next End Sub
「そんなのAIに聞けば一発じゃん?」と気付いて聞いてみた、というところですが‥(^_^;)
あれ?、これアカンやつ。見なかったことに。
アルゴリズムも指定したら、計算してくれるかと思ったんですが‥(^_^;)
「総当たり法」なんていい加減なことを書いた自分が悪かった。
もう一度やってみると‥(>_<)
AIって自分の出した答えを検証することはしないんですかね?
合っているかを確認してと言っても‥(>_<)
どうなっているんですかね?(^_^;)
「パターンを見つけ出すのが得意」とのことなので、それこそ「総当たり法」の "Brute force" guy の ようてす
(生成AIによる生成AIの「自己紹介乙」)
>> _カブ さん
「てす」(笑)一番デカい輩が「ブルート」
>> _カブ さん
ここで、一曲🙏>> _カブ さん
これくらいボケてくれると、ダメだこりゃ。って諦められるんですけどね。(^_^;)>> _カブ さん
それでは、もう 一曲AIもかなりの頻度で間違いはある、と思います😅
問題は間違っているのに自信満々に見えるところかな? 口だけは上手い人間もいます😁
おぉ〜、人間とAIの対決の会場はこちらでしたか!
早速、AIに同じ質問をしてみました。
瞬時に、添付画像の通りの素晴らしい回答がありました。
回答は、見事に要約された内容でAIを信じるしかありません(笑)
ChatGPTはちゃんとしてるみたいですね。
会話型のやり取りになりましたが探索までしてくれましたね
geminiは組み合わせを「整数回」にするようにしたところ、pythonコードまでは提示してくれました
実行すると答えは得られますが、geminiに入れても実行はしてくれませんでした(^^)
>5000円の残金があるプリペイドカードを108円と 110円の整数回の組み合わせの支払いだけでちょうど使い切るには、何回ずつ使えばいいで すか?
>for x in range(50): # 108円を支払う回数
> for y in range(50): # 110円を支払う回数
> if 108*x + 110*y == 5000:
> print("108円を", x, "回、110円を", y, "回支払う")
小学生最強
私使ったことない(使い方わからないw)ので検証はしたことないんですけど^^;
>> ninnin80s さん
IPアドレスの表現形式(オクテット表現)なら、9.11のほうが大きいので文脈次第かもですね答えが複数ある場合、的確に条件を示さないと期待する答えと合わないかもしれません
(画像の)
青い領域では役立つが、赤い領域では あまり役立たない と 感じます
(大半の質問には役立ちそうです)
「何が分からないか分からない」時にすべき3パターンの質問
https://mikakukyokai.net/2021/05/09/nanigawakaranaika/
かなり辛辣な内容の記事ですが、記事の筆者は激辛好きなのでしょう(味覚ステーションだけに)
>> pmaker さん
初めてAIなるものを使ってみました^^何が原因でこうなってるのかはよくわかりませんが。
>> _カブ さん
回答が、全く分からない場合に どうするか という問題も あります(画像 記事のリンク先)
https://dic.pixiv.net/a/ちょっと何言ってるか分からない
>> gavotte@新型NISAウイルス さん
つるかめ算は、合わせてa匹、合計の足b本、の設問なので、ちょっと違うのかなー?合計の足b本(5千円)だけ設定され、合わせて何匹(商品何個)かわからない設問ですよね。
小学生で解けるのかな??よくわからない
>> ninnin80s さん
面白い〜聞くたびに違うんですね
>> さと さん
おそらく小学生ならこんな感じで解くと思います。一応条件不足のつるかめ算という名前がついています。
5000÷108=46⋯32
108を46回、110を0回をスタートとして考えると、108を1つ減らして110を1つ増やすと2ずつ増えていくので
32÷2=16 46-16=30
ただ答えが1通りしかないという検証は小学生には難しいかなと思います。
先程のAIは天秤AIというGMOがやっているサイトで、一気に6つのAIを使えるというやつです。前から知っていたのですが、今回始めて使ってみました。
元々は、手持ちのEdyカードの残金が29,810円で、たまたま110円で割ったら割り切れたので、100均だけで使えば使い切れるなぁと思い、あ、でも食品も買うかと108円も混ぜたらどうなるのかなぁ?と思ったのがきっかけでした。
昔は、ジュースの自販機とか4つくらいの値でやったりしてました。
整数という条件も文章では書けますが方程式化は出来ないし、、、
Excelで等高線グラフを描いて、適当にお絵描きしてみると、こんな感じ。
Excelで等高線グラフは、2つ重ねられないらしいので、5000の面は手書き。解の位置も適当に手書き。
表の方は、
y = -(110/108)x + 5000/108 から、
(0 , 46.296)、(45.455 , 0) を通る直線が、5000になるところ、
等高線グラフでいうと、5000の面と交わる部分。(直線)
等高線グラフは、斜めになっているけど、実際は、細かい水平の階段状になっていて、5000と重なるのは、今回の場合、解の1か所だけなんだろうなぁ。
解が2つ以上ある場合は、この直線上にポコポコ出てくるんでしょうね。
変数が3つ以上になったら、こんな単純にはいかないけど。
>> ninnin80s さん
AIは「数学」を学んだわけでなく、世の中の事例から推測しているので、複数の表現がある場合、どれを選ぶかは学習や質問文の解釈によります人と同じ経験を積んでいるわけじゃないので人間とは違う解釈の仕方を良くします
まあ、回答の解説をみてると、この数字の表現を間違えたみたいではないので学習ミスですかね(^^)
ちなみにGeminiに、
>下記の数式を解いてください
>9.11-9.9
と聞くと、
>9.11は9.9よりも小さい数なので、計算結果が負の数になります。
>9.11 - 9.9 = -0.79
>となります。
って答えが返ってきました
あれ?小数の意味、ちゃんとわかってるじゃん(*^^*)
2つの合計を固定して、グラフにすると、こんな感じ。
46でないと、5000を通過しない。
傾きが2で、線の間隔が110なので、そうなるか。
copilotで、
「javascriptで、任意の個数の数値A1, A2, ... Anを、整数個組み合わせた時に、指定した合計値Xと一致するような組み合わせを見つけるプログラムを作成したい。入力は、A1, A2, ..., An, X とカンマで区切って入力する」
「例えば、A1は、108、A2は、110のとき、108が30個、110が16個で、合計値5000となるので、この場合、108,110,5000 と入力し、結果は、108が30個、110が16個と出力したい」
としたら、メモリー食い過ぎて落ちるプログラムとか、110,108,5000は、正しく動くけど、110,108,29810はうまく見つけられないソースを出してきたけど、
再度やり取りしたら、修正なしで動くプログラムを出してきた。
この辺はすごい。
まだ、このプログラムが本当に正しいか分からないので、見てみないといけないですが。結局、デバッグ作業は人間がやるのかぁ。(^_^;)
与式 108 x + 110 y = 5000 に対し x,yは0以上の正の整数
与式を変形し x = (5000 - 110 y) / 108
5000 - 110 y > 0 だから
0 ≦ y ≦ 45
以上より46回計算すれば済みます。
Excel VBAのマクロコードですいませんが、
Sub Macro1()
a = 1
For y = 0 To 45
xmod = (5000 - 110 * y) Mod 108
If xmod = 0 Then
x = (5000 - 110 * y) / 108
Cells(a, 1) = x
Cells(a, 2) = y
a = a + 1
End If
Next
End Sub
これを実行すると、x=30,y=16が出力されます。
>> じんで@肘の君 さん
これ、たぶん、等高線グラフのコメントの直線状のところに解があるかを見ていく感じですね。いやぁ、AIにもっと汎用的なコードを聞いたら、教えてくれたのですが、このdpという2次元配列を使うと、どうして計算できるかが、何回聞きなおしても分からないです。(^_^;)
色んな視点で聞いているけど、分からない。(^_^;)
おまけに、ソースもなんかちょっと難しくて分からない。(^_^;)
人間だったら、いい加減にしろとか言われそうなくらいしつこく聞く。
何となく、少し分かったような。(^_^;)
動的計画法って言うんですね。
2,3,9 の例で、
num=3の時点で、j=3~9までループ回している、最後の9の部分、
9-3=6 で 6を作る組み合わせから持ってきて、そのすべての組み合わせの最後に、3をくっつけて、9の組み合わせとする、瞬間。
これが、2と3の組み合わせから9を作る、最終的な解。
108円、110円、980円
なんかも、無事計算。(^_^;)
あまり組み合わせの多いものは、iOSのショートカットだとタイムアウトで止まってしまいます。
>> アッカリ〜ン@_@….,….,…😅 さん
対話型AIは世の中に沢山あるので、検証や確認は別のAIに頼むのがいいかも。>> ninnin80s さん
うわー小学生でも解けるんですね。条件不足のつるかめ算ですか。
天秤AIさっそく登録してみました。
と言う質問に2個と答えるAIが多いみたいですね。
1つめはst「r」awberry
2つめはst「r」awbe「r」「r」y
と出てきます。rが二つあるとまとめてしまうっぽい。どういう数え方なんだろう。
>> さと さん
何回か指摘したら、ようやく3個と答えるようになりました。明日とかに聞いたら、また2つって言うのかな?
いや、あなた間違ってますやん シ
ーーーー
strawberryという単語には、rが2つ含まれています。
この質問は、AIの言語処理能力に関する興味深い問題として、しばしば取り上げられます。
なぜこの質問が面白いのでしょうか?
人間の直感とAIの回答のずれ: 人間の直感では、一瞬「3つ」と数えてしまうことがあります。これは、"straw"と"berry"という二つの単語に分割して考えてしまうためです。しかし、AIは単語を一つの文字列として扱い、正確に数を数えます。
最初の回答で参考にしていたページがこれ。
https://ai-revolution.net/strawberry/
逆にこういうページが増えて、何が何だか分からなくなっているのかも。
このスレの問題もそうだったけど、考え方は教えてくれるものの、それを自ら実行して検証することはしないんですよね。
プログラムを教えてくれる時も、いろいろなサイトのプログラムをうまく組み合わせているだけかもしれないです。
それにしては、一応指示した通りにプログラムを書いてくれますが…
結局、敬語使えってこと?(^_^;)
「いくつ」がマズイのかなと思い、
(左)丁寧に書いてみたら、3つだったので、
(中)もう一度、最初の質問をしたらダメ、
(右)語尾だけ変えたら、OK。
※全部、Bing Copilotで、一旦閉じてからやってます
は、ダメで、
「strawberryという単語にrはいくつあるか?」
は、OKでした。