初級シスアド-チェックディジットとは?

このQ&Aのポイント
  • 初級シスアド-チェックディジットについての質問です。要約文を作成しました。
  • 初級シスアド-チェックディジットについての質問です。要約文を作成しました。
  • 初級シスアド-チェックディジットについての質問です。要約文を作成しました。
回答を見る
  • ベストアンサー

初級シスアド-チェックディジット

こんにちは、問題でどうしても分からないところがありますのでお助けください。 問題  データの誤りを発見するために、次の方法によって、誤り検出コードを付加することにした。出力データがN2=7、N3=6、N4=2、C=4のとき、N1の値は幾らか。 入力データ  :N1N2N3N4 計算方法   :C-mod((N1×1+N2×2+N3×3+N4×4),10)        :ここで、mod(x,y)はx/yの剰余 出力データ  :N1N2N3N4C ア 0 イ 2 ウ 4 エ 6 解説 計算方法にそれぞれの値を代入する。 4=mod((N1×1+7×2+6×3+2×4),10) 4=mod((N1+40),10) (N1+40)/10の剰余が4という意味である。 したがってN1=4 以上 柏木先生のイメージ&クレバー方式 初級シスアド P.254より 最後の「したがってN1=4」とありますがなぜ、したがってN1=4になるのかが分かりません。そこまでは理解できます。 よろしくお願い致します。

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

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

mod(N1+40, 10) を N1 ア 0 イ 2 ウ 4 エ 6 をあてはめて計算してみましょう 結局のところ 40は10で割り切れるという意味だと思います

ghost-jellyfish
質問者

お礼

お返事有難うございます。 なるほど、4+40/10=4…4となるわけですね。 分かりました、有難うございます!

関連するQ&A

  • 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が導き出せたのかわかりません。 二乗の表記の仕方がわからず、とても見難くなってしまいました。すみません。 乱文になってしまいましたが、どなたかわかる方教えてください。 よろしくお願いします。

  • 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)以降の値がおおきすぎてエラーとなります。どうすればいいのでしょうか。

  • データの分析 118

    nを2以上の自然数とする。次の問いに答えよ。 (1)変量xの値がx(1),x(2),・・・,x(n)であるとし f(a)=1/nΣ[k=1,n](x(k)-a)^2 とする。f(a)を最小にするaはx(1),x(2),・・・,x(n)の平均値で、そのときの最小値はx(1),x(2),・・・,x(n)の分散であることを示せ。 (2)cを定数として、変量y,zのk番目のデータの値が y(k)=k(k=1,2,・・・,n),z(k)=ck(k=1,2,・・・,n) であるとする。このときy(1),y(2),・・・,y(n)の分散がz(1),z(2),・・・,z(n)の分散より大きくなるためのcの必要十分条件を求めよ。 (3)変量xのデータの値がx(1),x(2),・・・,x(n)であるとし、その平均値をxバーとする。新たにデータを得たとし、その値をx(n+1)とする。x(1),x(2),・・・,x(n),x(n+1)の平均値をx(n+1),xバーおよびnを用いて表せ。 (4)次の40個のデータと平均値、分散、中央値を計算すると、それぞれ、ちょうど40,670,35であった。 120,10,60,70,30,20,20,30,20,60 40,50,40,10,30,40,40,30,20,70 100,20,20,40,40,60,70,20,50,10 30,10,50,80,10,30,70,10,60,10 新たにデータを得たとし、その値が40であった。この時、41個のすべてのデータの平均値、分散、中央値を求めよ。ただし、得られた値が整数でない場合は、少数第1位を四捨五入せよ。 この問題を解いてください。お願いします。

  • チェックデジットについて

    CIAという試験の勉強をしているのですが、以下の問題が理解できず困っています。 ご教授願います。 (問題) 入力統制のうち、元々あった数値データの加工もしくは転送中に変化していないかを確認するために、何らかの計算を施された数値データは次のどれか A ハッシュトータル B パリティチェック C 暗号化 D チェック・デジット (解答) D (解説) チェックデジットとは、ID番号末尾に追加する桁のことで、データ加工・転送等によってデータが変化していないかどうかを確認する入力統制であり、正解はD ハッシュトータルは、データ項目の合計に関連するチェックであるので、Aは誤り。 パリティチェックは、各キャラクターに1ビット分付加し、ハードウウェア内でのキャラクター転送によりこのビットが失われていないかを確認するプロセスであるので、Bは誤り。 暗号化はセキュリティー保持のための処理であり、入力統制ではないのでCも誤り。 (質問) チェックデジットは、入力エラーを防止するためのものと私は理解しています。 解説では、「データ加工・転送等によってデータが変化していないかどうかを確認する入力統制」とされています。 この点がイメージできません。 パリティチェックやハッシュトータルの方が正解になるような気がしているのですが・・ よろしくお願いします。

  • 写像の表記におけるmodの意味について

    x(n+1) = 2x(n)   (mod 1) y(n+1) = αy(n) + cos4πx(n) や θ(n+1) = Ω + θ(n) + k・sinθ(n) (mod 2π) のような写像の表記におけるmodの意味を教えて下さい。もしくは、詳しく書かれた文献を紹介して下さい。

  • 級数の微分について

    以下の条件の際の f(1) の場合の値を求めたいと思います。 ----- y = f(x) = Σ{n=0→∞}Cn・x^n …(1) y' = x^2・y          …(2) y(0) = 1            …(3) ----- y の n=0~3 の値は、(1) より C0, C1・x, C2・x^2, C3・x^3 …(4) 上記より C0 = 1 および y' の値は (4) を微分して、0, C1, C2・2x, C3・3x^2 よって (f(x))' = x^2・y はそれぞれ、C1 = x^2・C0, C2・2x = x^2・C1・x, C3・3x^2 = x^2・C2・x^2 整理して、C1 = x^2, C2 = 1/2・x^4, C3 = 1/6・x^6 まとめると、C(n)=1/n!・x^(2n) ゆえに、y = Σ{n=0→∞}(1/n!・x^(3n)) = e^(x^3) …(5) 一方、(2) を直接積分すると、(1/y)dy=(x^2)dx より積分定数を C として y = C・e^((x^3)/3) …(6) 質問1 (5) と (6) は一致するはずですが、しません。 おそらく (5) を得る途中で間違っていると思うのですが、誤りをご指摘下さい。 質問2 y' を導出する際に参考書やネットの記事では (1) の式を直接以下のよう書いています。 y' = Σ{n=1→∞}Cn・n・x^(n-1) これは (4) を微分した際の定数項(C0の部分)を除外した表現と理解してよいでしょうか。 久方ぶりに駆け足でお勉強しているため基礎的な部分が欠け落ちているらしく、 振り返ってみると上のような基礎的と思われる部分を説明出来ないことがあります。 今回もしばらく考えていたのですが、自己解決出来ませんでした。 ご教示いただけると幸いです。

  • 級数

    級数 C^n級 C^∞級 疑問 C^n級とは、n階微分可能な関数を意味すると認識しています。 C^∞級とは、n階以上微分可能な関数のことを指して言うのでしょうか? C^n級とC^∞級の違いはなんでしょうか? 剰余項について、 e^x=Σ[n=0~∞]((x^n)/(n!))→A e^x=1+x+(1/2!)x^2+・・・+(1/n!)x^n+R(n+1)→B AとBが等価なのが理解できません。 AはΣの範囲が∞です。Bは任意の自然数nです。 Bは任意の自然数nまで級数展開して、それ以降を剰余項で表しています。 Bは無限級数展開可能であるのに、n+1で打ち切っているのが理解出来ない点です。 C^1級関数の例として、y=|x|^2は適切でしょうか? y=|x|はx=0で微分可能でありません。 つまり、y=|x|はC^0級だと認識しています。 そこで、y=|x|^2はx=0で一階微分できるので、C^1級と考えました。 この考えはおかしいでしょうか? 以上、ご回答よろしくお願い致しますm(_ _)m

  • オイラーの定理(整数)

    nは自然数、aは整数とする。aとnが互いに素な時、a^{φ(n)}≡1( mod n)が成り立つ。 ここでφ(n)は「n以下の自然数でnと互いに素なものの個数を表す」"オイラーの関数"である。 この定理の例証で、例えばn=45=3^(2)*5のときa=7として考えます。 φ(45)=φ(3^2)*φ(5)となり、φ(3^2)=6、φ(5)=4です。 フェルマーの小定理よりmod 5 で、7^φ(45)={7^φ(5)}^φ(3^2)は {7^φ(5)}≡1 (mod 5)より、7^φ(45)≡1 (mod 5 )・・・(1)になり。 次に7^φ(3^2)≡1(mod 3^2)をしるします。フェルマーの小定理より mod 3 で 7^(3-1)≡1なので7^(3-1)=3k+1、 7^φ(3^2)={7^(3-1)}^3=(3k+1)^3=(3k)^3+3C1(3k)^2+3C2(3k)+1 3C1、3C2は3の倍数なので、7^φ(3^2)≡1(mod 3^2)・・・(2)です。 よって、7^φ(45)={7^φ(3^2)}^φ(5)≡1(mod 3^2)となります。 ここからが分からない箇所なのですが、中国の剰余定理から、 (1)かつ(2)⇔7^φ(45)≡■(mod 3^(2)*5)となる■が、1つだけ存在します。と書いてありますが、自分は中国の剰余定理は、m、nを互いに素な自然数とする。 x≡a(mod m)かつ x≡b(mod n)を満たす整数xはmnを法として、ただ1つ存在する。と書いてあることから、割る数が違えば、a,bのように余りもちがう場合に、整数xはmnを法として、ただ1つ存在する。と思っていたのですが、 この例証では、■≡7^φ(45) (mod 5)かつ■≡7^φ(45) (mod 3^2)のような余りが 一緒の場合を同時に満たす■を求めているような気がして、中国の剰余定理があてはまるか不安です。 自分の考えの間違いや、余りが一緒の場合でも中国の剰余定理が使えるかを教えてください。お願いします。 本では、■=1のとき(1)、(2)が成り立つので、■=1だとわかります。 よって7^φ(45)≡1(mod 45 )となることがしるされました。としめくくっています。

  • 微分方程式の級数解の求め方

    微分方程式の級数解の求め方について教えてください。 y' = a^2・y, y(0) = 1 の解が y = f(x) = Σ[n=0→∞]c(n)・x^n であるとします。 この場合に、係数 c10 値と、f(1) の値を求めたいと思います。 以下のように辿ってみましたが、途中でわからなくなりました。 解の式を微分して、 y' = c1 + 2c2・x + 3c3・x^2 + ... 元の方程式を展開すると、 y' = a^2( c0 + c1・x + c2・x^2 + ... ) 両式と y(0) = 1 より、 c1 = c0・a^2 = a^2 2c2・x = c1・x → c2 = c1・x / 2・x = c1 / 2 → a^2 / 2! 3c3・x^2 = c2・x^2 → c3 = c2・x^2 / 3・x^2 = c2 / 3 → a^2 / 3! ゆえに c(n) = a^2 / n! このあと c10 を算出するために上式の a の値は?などとわからなくなりました。 ここまでに誤りがないか、このあとをどうすればよいか、教えていただけないでしょうか。 よろしくお願いします。

  • 繰り返し計算で得られる解を、直接計算して求める方法

    こんにちは、 下記について、教えて下さい。 y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); があります。 a2は a2->-((7*(-1+x))/(1+2*x))-s1; です。 s1は nが1のときは、s1=0 nが2以上のときは、s1=(92*n)/(y*10^6) となります。 nを増やして、yが0.1に一番、近づいたときの nを求めたいのですが、どのように計算すれば 良いでしょうか? 下記は、nを増やして、mathematcaを使用して数値計算で求めたものです。 答えは n=14675 y=0.0829778 となりました。 もっと、スマートに直接計算する方法を教えて下さい。 x=0.767476; a2=.; For[n=1,n<2*10^4,n++, If[nŠ1,s1=0]; If[n>1,s1=(92*n)/(y*10^6)]; y=625.733*((2/5)*(1-x)*a2^2-(4/105)*(1+2*x)*a2^3); a2=-((7*(-1+x))/(1+2*x))-s1; f=0.1; If[y-f<0,Print["n=",n]]; If[y-f<0,Print["y=",y]]; If[y-f<0,Break[]]; ]; 下記は、以前、ここでご教示頂いたものですが、 いろいろと計算しますと、計算値が、上記の繰り返し計算の値と 異なってしまいます。 x=0.767476; y=.; n=.; z=Solve[y-(625.733*((2/5)*(1-x)*(-((7*(-1+x))/(1+2*x))-(92*n)/(y*10^6))^2-(4/105)*(1+2*x)*(-((7*(-1+x))/(1+2*x))-(92*n)/(y*10^6))^3))Š0,n]; y=0.1; Simplify[z]

専門家に質問してみよう