• ベストアンサー

MOD25(25を法とする剰余)の計算

エクセルでMOD25(25を法とする剰余)の計算をします。 (記号)3∧nで3のn乗をあらわすものとする。 (したいこと)mod(3、25),3∧2=9、3∧3=27、―――、3∧20、―――、3∧24に対して、 mod(3、25)~mod(3∧24、25)までの値を求めたいのですが、~mod(3∧20、25)以降の値がおおきすぎてエラーとなります。どうすればいいのでしょうか。

  • taktta
  • お礼率72% (1031/1430)

質問者が選んだベストアンサー

  • ベストアンサー
  • Mahk2
  • ベストアンサー率29% (15/51)
回答No.1

24の場合なら、下記の式でOKですね。 =3^24-INT(3^24/25)*25

taktta
質問者

お礼

n=32までできました。n=33は不可、限界のようです。 おかげで解決しました。ありがとうございました。

その他の回答 (2)

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.3

今回の場合、表上に計算結果を出力するように見受けられます。 で、数学ではなくExcel側からの回答なのですが、 =MOD((前の計算結果の入ったセル)*3,25) …というのはどうでしょう。

taktta
質問者

お礼

これではだめでした。どうも回答ありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

ユーザー定義関数を作りました。 VBEで標準モジュールに貼り付けてお使い下さい Function modulas(value As Currency, m As Currency) As Currency Dim wk As Currency wk = Int(value / m) modulas = value - wk * m End Function 使い方 modulas(3^24,25)

taktta
質問者

お礼

どうもありがとうございます。使わせてもらいます。

関連するQ&A

  • mod255の計算

    こんにちは。 今日はmod255の計算について困ったことがあり、質問しました。 私は今、mod255の計算をする回路を作っています。 mod255とはある値を255で割ったときの余りを求めることですよね。 しかし、回路ではあまり除算(回路の性質上、逆数を取って乗算する)を使いません。 理由は、計算に時間がかかることと、回路規模がが大きくなるため。 ある値が255以上か判定してから順次255を引くことも考えましたが、動作が不規則なため使っていません。 そこで、私はmod255を除算を使わず、減算で実現しようと次のような計算法を考えました。 例、239+157をmod255する場合。 239+157=396を2進数に変換すると 11101111 +10011101 ------------ 110001100 ここで、計算結果の右から9番目の1を一番右に移動して加算すると 10001101になります。 これを10進に変換すると141になります。 よって、396-255=141となり396をmod255ができていますよね。 これで、問題解決だと思ったのですが、 ある値が511でこの計算をすると結果が10000000となり 256になってしまいます。 このことから考えて、この計算法は万能ではないみたいです。 この計算法のどこを改善するとmod255を計算できるようになるのでしょうか? また、皆さんなら、どんな方法でmod255を実現しますか? よろしく、お願いします。

  • modの計算方法について

    下記ホームページで紹介されているmodの計算方法について教えてください。 http://c4t.jp/introduction/cryptography/cryptography04.html (1)「素数」を法とする世界では、Xn mod 素数=X という、元の数字と答え(X)が共に同じとなる「n」の値を「素数」から計算することができます。というのがありますが、例をあげて説明していただけないでしょうか? (2)RSA暗号の概要で暗号分456はどのように計算するのでしょうか? よろしくお願いします。

  • 中国の剰余定理と原始根

    アドバイスよろしくおねがいします。 p,qを素数としたときに mod p と mod q において 原始根になる値gが存在する。それは中国剰余定理からいえる。 という記述があったのですが、原始根と中国剰余定理が結びつきません。 mod p,mod q において原始根ということは gを法pにおいてp-1乗してはじめて1になり、かつ法qにおいてもq-1乗してはじめて1になるわけだと思います。(ほかにも条件がありますが…) で、中国剰余定理は 簡単に言うと 複数の法が違い、法の数が互いに素な連立合同式に対して、解が一意に定まるということだと思います。 この二つが結びつきません。 ご教授お願いします

  • 電卓でmodの計算

    電卓でmodの計算ってできるんですか? 素数をリュカの判定法により判定する問題がテストに出るんですが、mod計算に時間がかかってしまって。。 わかるかたいらっしゃいましたら、教えてください。

  • x^2 ≡ 1 mod n

    nが素数で nを法とする既約剰余群(Z/nZ)*において 位数が2の元は-1だけであることを示したいのですが、 x^2 ≡ 1 mod n ⇒ (x-1)(x+1) ≡ 0 mod n ⇒ x = ±1 ではダメでしょうか。 ある本だと 以下の定理を使っています。 「Gを有限巡回群とする。|G|の任意の約数dに対して位数dのGの部分群が唯一つ存在する。」 この定理より nの既約剰余群において、位数2の元は-1のみ。 しかし、この定理の証明が私にとって難解で、まったく理解できません。 結局、位数2の元が-1だけであることを言いたいので x^2 ≡ 1 mod nを 上記のように解けば説明になっているのでは?と思いました。 x^2 ≡ 1 mod n を解くだけで説明になっているでしょうか? アドバイスお願いします。 また、もしできたら 「Gが有限巡回群のとき… |G|の任意の…」 の定理の証明をわかりやすく説明していただけないでしょうか。

  • modを使用した平方根の求め方

    解き方が解からない問題があります。 どれだけ考えても解き方がわからないので、どなたかわかる方教えてください。 【解き方が解からない問題】 大きな素数の積n=pqが与えられた時、nを素因数分解するのは非常に難しい。 整数mと整数y(<m)が与えられた時y=x2(xの二乗) mod mなる整数解xが存在すれば、yは mod mで平方剰余であるという。 xを mod mでのyの平方根という。 mが素数7の時、 12(1の二乗の事です。二乗の書き方がわからなくて・・・)≡1 (mod 7) 、 22(2の二乗) ≡ 4 (mod 7) 32(3の二乗)≡2 (mod 7) 、 42(4の二乗) ≡ 2 (mod 7) 52(5の二乗)≡4 (mod 7) 、 62(6の二乗) ≡ 1 (mod 7) となるので、1、2、4が平方剰余で、各平方剰余には2個の平方根がある。 mが二つの素数の積の場合、4個の平方根がある。 ここまでが参考書に載ってる説明です。 ここから私がわからない問題です。 102(10の二乗) mod 77=23 n = 77 の素因数7と11から素因数の知識を利用してZのmod nでの平方根Sを計算する。 S2(Sの二乗) ≡ 23 mod 7 S2(Sの二乗) ≡ 23 mod 11 上の2つを解いて、mod 77での4つの平方根10、32、45、67を得る。 この2つの式から、何をどうやって計算して、4つの平方根10、32、45、67が導き出せたのかわかりません。 二乗の表記の仕方がわからず、とても見難くなってしまいました。すみません。 乱文になってしまいましたが、どなたかわかる方教えてください。 よろしくお願いします。

  • 素数判定アルゴリズム内の剰余計算

    今勉強している任意倍長精度整数の素数を判定するアルゴリズム内で x^q mod n という計算をするところがあるのですが、 正確に計算しようとすると計算量が膨れ上がってしまって 高速にできなくて困っています。 参考にしている文献に "x^q mod nの計算ではx^q mod nを正確に求める必要は無く、 x^q ≡ x^q' (mod n)となる x^q'でよい"という記述があるのですが どういう意味なのかよくわかりません。 どなたか教えていただけないでしょうか?

  • 剰余の問題について

    基本情報技術者試験の問題にて、 pを2以上の整数とする。任意の整数nに対して、 n=kp+m (0 <= m < p) を満たす整数kとmが一意に存在する。このmをnのpによる剰余といい、 n mod pで表す。(-10000)mod 32768に等しくなるものはどれか。 ア -(10000 mod 32768) イ (-22768)mod 32768 ウ 10000 mod 32768 エ 22768 mod 32768 という問題があります。 この問題の解答は「エ」となるのですが、 解き方がどうしても理解することができません。 解説では (-10000)mod 32768と等しいのは 32768+(-10000)=22768から 22768mod32768となる。 と書いてあるのですが、このように解答していく プロセスがさっぱり見えてきません。 この解法の仕方をレクチャーしていただけないでしょうか。

  • エクセルの計算

    エクセルで計算するときに、 Mod(84,3) で計算すると正しく0を返してくれるのですが、 Mod(Combin(9,3),3)で計算すると3と間違った値を返してきます。 何故でしょうか。

  • 除算を行わずに剰余を求めたい

    http://www.tensyo.com/urame/date/dayTips.htm#MOD によると、除算を行わずに剰余を求める方法として、 ------------------------------------------------------- 2^N>=b となるNを求める(2^N == 1<<N) B=2^N-b C=2^N-1 while(a>=2*b){ B *(a>>N) + a&C }; 最後に1回 if(a>=b)a-=b ; と計算する ------------------------------------------------------- とありますが、これの実装はおそらく誤植です。 というのも、4行目B *(a>>N) + a&Cは代入操作等をしていないため、 実質何もしていないからです。 そこで、a=B *(a>>N) + a&Cのように変更するなどやってみましたが、 5回に1回ぐらい異なる値が現れます。 このアルゴリズムはどのように変更したらよいでしょうか? また、他の方法でも結構ですので、教えてください。