匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

Mathematica で整数パズルを解く方法


某パズルサイトの問題なのですが、「ある整数 a を 17 乗して 3569 で割った余りが 915 である。a の値はいくつか」というような整数の問題を、Mathematica を使って小さい順に5つ解を表示させたいのですが、どのようにすればよいでしょうか。また、Mathematica でこのような整数の問題の解き方が解説されているホームページや書籍などはありますでしょうか?
(プログラムで総当たり計算させると、正解は 2015, 5581, 9150, 12719, 16288 となっているようです)

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/23 00:20:07
  • 終了:2012/09/30 00:25:05
匿名質問者

質問者から

匿名質問者2012/09/23 00:50:03

訂正ですが、初めの解は 2015 ではなく 2012 でした。

ベストアンサー

匿名回答1号 No.2

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/23 22:07:12

Reduce[Mod[n^17,3569]==915,n,Integer]
かな?

匿名質問者

解答ありがとうございます。Mod を式に入れたまま解く方法ってあったんですね。Solve 等で試していましたが、Reduce 関数で Mod を使う、ってことができたんですね。参考になります。(ちなみに、Integer は Integers のようでした)

2012/09/24 01:47:19

その他の回答(3件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/23 02:51:33

http://www.wolframalpha.com/input/?i=%283569n%2B915%29%3Dm**17

Wolfram Alphaで
(3569n+915)=m**17
と入力すると、m=2012+3569*整数、と出てきました。

匿名質問者

解答ありがとうございます。Alpha は便利ですよね。Alpha に入力すればこんなに簡単に答を出してくれるのは知りませんでした。
一方で、答が欲しいというよりも、Mathematica でパラメータに正の整数という制限を書けて整数の範囲で問題を解かせる方法、剰余を上手く表現する方法などが知りたい感じなのですが、何かアイデアはありませんでしょうか?

2012/09/23 03:50:39
匿名回答1号 No.2

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/23 22:07:12ここでベストアンサー

Reduce[Mod[n^17,3569]==915,n,Integer]
かな?

匿名質問者

解答ありがとうございます。Mod を式に入れたまま解く方法ってあったんですね。Solve 等で試していましたが、Reduce 関数で Mod を使う、ってことができたんですね。参考になります。(ちなみに、Integer は Integers のようでした)

2012/09/24 01:47:19
匿名回答2号 No.3

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/23 22:53:20

 こちらは参考になるでしょうか。
>n≧0 and a=3569n+2012 and n 属する Z
http://www.wolframalpha.com/input/?i=Solve%5Ba%5E17+mod+3569+%3D%3D+915%2Ca%3E0%2C%7Ba%7D%5D
※参考URL
●Mathematica 入門
http://bach.istc.kobe-u.ac.jp/mma/nyumon/

匿名質問者

書き込みありがとうございます。Alpha、本当に便利ですよね。数学を解く専門の Siri みたいな感じで、結構みんな利用されているんですね。URL も参考にさせていただきます。

2012/09/24 01:48:21
匿名回答1号 No.4

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2012/09/23 23:55:57

匿名質問者

書き込みありがとうございます。なるほど、「モジュラ逆数」という数学の理論を使えば、PowerMod 関数を使ってすぐに値が出るわけですね。これは頭のいい綺麗な解法ですね!

2012/09/24 01:49:13

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません