締切済み 乗算回数 2009/09/08 21:21 べき乗の乗算回数をプログラミングしたいのですが、 わかりません。どうやってプログラミングしたらよいですか。 時間がなくて困っています。教えてください。お願いします。 みんなの回答 (4) 専門家の回答 みんなの回答 arrysthmia ベストアンサー率38% (442/1154) 2009/09/09 11:43 回答No.4 不規則に少ない回数で実現できるヤツがあるから、 一般論にするのは難しいです。 x2 = x * x; x4 = x2 * x2; x8 = x4 * x4; x16 = x8 * x8; x32 = x16 * x16; x64 = x32 * x32; x119 = x64 * x32 * x16 * x4 * x2 * x; の 11 回に比べて、 x2 = x * x; x4 = x2 * x2; x7 = x4 * x2 * x; x14 = x7 * x7; x28 = x14 * x14; x56 = x28 * x28; x112 = x56 * x56; x119 = x112 * x7; の 9 回とか。 人工知能レベルのプログラムになりますね。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 noname#94461 2009/09/08 23:10 回答No.3 x^(1,2,4,8,16,32) の時に 0,1,2,3,4,5 回の乗算で計算する...といったことを考えられているのですね? ans=x^countを求める場合、 if (count.and.1) ans = x; else ans = 1.0; count = count>>1; xpower = x; while (count>0) { xpower=x*x; if (count.and.1) ans = ans * xpower; xpower = xpower*xpower; count = count>>1; } 以上のような形で求まると思います。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 nagi_szn ベストアンサー率30% (3/10) 2009/09/08 22:07 回答No.2 不勉強なら本でも読んで勉強してください。 何かよく分かりませんが、さっき書いたのにちょっと加えればできると思います。 最小値ってことは、何回も計算させその都度乗算回数を求めるってことですかね。 その、その都度の乗算階数はさっき書いたcounterで保持し、新たなカウンターmincounterとかを作って、その計算の都度、if文でmincounterとcounterの小さい方を取ってやればいいはずです。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 nagi_szn ベストアンサー率30% (3/10) 2009/09/08 21:41 回答No.1 カウンターを用意すればよいです。 c言語なら int couter=0; を用意して、 べき乗を計算するfor文やwhile文の最後に counter++; を付ければいいです。 質問者 補足 2009/09/08 21:50 すみません、不勉強でよくわかりません。 もう少し詳しく説明してもらってもいいですか。 それと質問に書き忘れてしまったので追加します。 求めるのは最小の乗算回数です。ただ個別に最適化する必要は ないです。すみません。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ 学問・教育数学・算数 関連するQ&A 乗算回数について 至急教えてください。 「X^100の乗算回数は普通に計算すると99回である。 どのくらい乗算回数を減らせるか?」 という問題があります。 私の知り合いの答えでは18回で答えが出るのですが、 私が計算すると8回で答えが出ます。 問題文は「」の中だけです。 私の答えは合ってますか? 大至急教えてください。おねがいします。 乗算回数最小の冪乗アルゴリズム 断面n次モーメントを計算するプログラムを書いていてふと思ったのですが, X^n を乗算の繰り返しで計算する場合,一般の自然数nについて乗算回数最小の アルゴリズムって存在するんでしょうか? たとえばnが2の冪乗の場合,2乗を繰り返すと1回ごとに X → X^2 → X^4 → X^8 → X^16 → … となるので,X^n は log2(n) 回の乗算で計算でき,たぶんこれが最小だと思います. その他のnについてはどうでしょうか? nの素因数分解とか使えばうまくいくんでしょうか? 乗算について 複数のセルに1つのセルから乗算をしたいのですがどうすればよいのでしょうか? 天文学のお話。日本ではどのように考えられていた? OKWAVE コラム 乗算回路について 以前に周波数の差を測定したいということで質問させて頂いたのですが,乗算回路を使ってこれを測定することはできますか?乗算回路からフィルターを通して差だけを拾えないかと考えているのですが,どうでしょうか?電子回路は素人なので,どういった方法が良いのかわかりません,よろしくお願いします. 2進数の乗算と除算 先日、桁上がりについて質問させていただいた者です。 加算と減算はなんとか完成したのですが、乗算と除算になって混乱してしまいました。 二進数の乗算、除算はビットシフトと関係がありますが、私の作っているものの場合はどのようなソースコードにすればよいでしょうか? (ちなみに、bの値は2のべき乗に限定しています。) int main(void) { int a,b,i; int x[8],y[8]; puts("二つの符号なし整数を入力してください。(ただしa>bとし、bは2のべき乗の値とする)"); printf("a="); scanf("%d",&a); printf("b="); scanf("%d",&b); printf("\n"); /*二進数の形に変換*/ for(i=0;i<=7;i++){ x[i]=a%2; a=a/2; y[i]=b%2; b=b/2; } puts("aとbをそれぞれ二進数で表すと"); printf("a="); for(i=7;i>=0;i--){ printf("%d",x[i]); } puts(""); printf("b="); for(i=7;i>=0;i--){ printf("%d",y[i]); } printf("となります。\n\n"); return(0); } 乗算について 只今C++を勉強しております. 演算子の多重定義を勉強しているのですが, 乗算についてふと思いました. y = a * bを y = ab の様に簡略化するにはどのように定義したらよいのでしょうか? なるべく分かりやすいように書いて頂けるとありがたいです. お願いいたします. 合同混合法・乗算合同法の実際の周期について 現在「混合合同法」と「乗算合同法」を用いた乱数の発生実験を以下のような条件で行っております。その中でいくつか疑問点が出てきたので質問いたします。 「混合合同法」 R(i+1)=R(i)*A+C (modM) A=1229 C=351750 M=1664501 R(0)=1 「乗算合同法」 R(i+1)=R(i)*A(modM) A=48828125(=5^11) M=2^31 R(0)=584287 これらの実験を行う中で周期をMに設定しているのに、実際に同じ値が返されてくるまでの周期が「混合合同法」では約半分、「乗算合同法」では約四分の一になっております。なぜこのようになるのでしょうか? また乗算合同法では奇数しか返されないのですがこの理由と、奇数しか返されないことで起こる不都合もお教えください。 なお、これはCでプログラミングしているのですが同一の値が返される回数を簡単に表示するようにするにはどのようにプログラムすればよいでしょうか?ご助言ください。 アナログ乗算器 アナログ乗算器が内蔵されている機器を教えてください。 Niveで乗算するときのズレ Niveについての質問です。 エフェクトでブレンドTを選び乗算した時になぜかズレてしまいます。 ブレンド率を0にすればズレないみたいなのですがそれでは意味が無いので・・・ どうやったらズレずに乗算できるか教えてください。 また、他の方法などありましたら教えていただけると幸いです。お願いします。 乗算記号は何故 "*" ?? 私の知っている限りの言語(C, C++, Java, COBOL)でも、全て乗算に"*"、除算に"/"を使ってますが、算数ではそれぞれ「×」「÷」ですよね。 これには何か理由があったのでしょうか? "/"は分数にも使われる(記述が逆ですが)のでまだ分かるのですが、数学の知識が浅いせいもあってか、"*"と乗算を結びつけるものが思いつかず、不思議に思ってました。 本当に単純な疑問なので、暇なときにでも回答くださいませ。 翻訳:乗算の説明 ある乗算に関する翻訳の文章で、google翻訳や訳してネットを使用しても、わからないため、 こちらで質問させていただきます。 Multiplication can be reduced to repeated addition. これは意味合いとして、乗算は足し算の繰り返しと捉えて行う、という観点からの 文章だと思います。 <Google翻訳> 乗算を繰り返すほかに減らすことができます。 <訳してネット> 乗算は度々の付加物に変えられることができます。 どちらも日本人の感覚として納得できず、 訳してネットにおける、「変えられ~」が、 どうやら"reduced"から来てるようなのですが、 単語で意味を調べてもなぜそう訳されたのかよくわかりません。 どなたかしっくりくる訳が出来るひとはいらっしゃいますか。 独立な信号同士の乗算の期待値 独立?無相関?の信号(時間領域)同士・または、スペクトル(周波数領域)同士の乗算の期待値は0ですか? また、もしそうならどのように考えれば良いのですか? 日本史の転換点?:赤穂浪士、池田屋事件、禁門の変に見る武士の忠義と正義 OKWAVE コラム 乗算器とカウンタ 乗算器とカウンタのどちらの方が回路規模が小さくなるのでしょうか? Nビット乗算器の,Nはシステムにより異なるため,10ビット以上をとることもあれば,(A*1)のようなものもあります。 現状のシステムで乗算器は (A-B) * X という形で使用しています. (AとBは定数のため,論理合成時に Y*Xとなっていると推測しています。Yが0になることもあります) カウンタ回路は,まだ実装していませんが, if( ck ) if( リセット条件 ) syuturyoku <= 0; else if ( 更新条件 ) syuturyoku <= syuturyoku + 1; end if; のような(一般的な)記述をしようとしています flashCS3での乗算 flashCS3を使用しています。 photoshopから持って来た画像を乗算にしたいのですが、flashではできないのでしょうか? (MXではできないようでしたがCS3でもやっぱりダメでしょうか flashで色の乗算ってできますか? 初めまして。flash初心者です。 flash MXをつかっているのですが、flash MXにはphotoshopでいう乗算機能というものはついてますか? もしくは色を乗算させるアクションスクリプトがあるのでしょうか? どなたかわかる方いらっしゃいましたら教えてください。よろしくお願いします。 ・乗算レイヤーでの着色トラブル ・乗算レイヤーでの着色トラブル フォトショップ5.0を使用しています。 線画を取り込み「背景レイヤー」の上に「乗算レイヤー」を作りました。 もちろん、下の背景レイヤーの上に色は乗るのですが、 一度タブレットのペン先を放して、また色を付けようと2度目の色塗りを始めると 乗算された色合いになってしまうのです。 3度目も同じで、勝手に色が乗算された色に。 レイヤーは「乗算レイヤー」1つのみですから、これはおかしい動作です。 今まではこんなことはなかったので、とても困っています。 どうしたら、勝手に乗算されてしまう誤作動を元にもどせますか? 知恵を貸して下さい。 16進数の乗算について。 16進数の乗算について。 いつもお世話になっております。 小生、現在16進数の乗算を勉強しているのですが、 計算の手順が理解できません。 例えば、5 X A という式があるとすると、 1.そのままでは計算しにくいので、5 x 10Hをする。 よって、50Hになる。 2.50Hから足しすぎた分を求める。 この場合、5に10Hをかけているので、(10H - A) = 6となり、 (5 X 6)が足しすぎた分になる。 3.50Hから足しすぎた分を引く。 50H - (5 X 6) = 50H - 1E = 32になる。 と文章で書ける事は書けるのですが、なぜかしっくりきません。 お忙しい中、大変申し訳ございませんが、先輩方ご教示宜しくお願い致します。 LTSpiceで乗算器を使うには LTSpiceで乗算器を含む回路のシミュレーションをしたいと考えています。 部品ライブラリに乗算器が入っていないので、AD633のSpiceモデルをダウンロードし、 DIP8のシンボルにサブサーキットとして関連付ける方法を試したのですが、エラーが出て シミュレーションを開始できませんでした。 表示されたエラーは 「Unknown subcircuit called in: xad633 n001 0 n003 0 -15V 0 n002 15V」 となっています。 この中で、-15Vと15Vは電源のラベルのことだと思います。 それ以外の表記についてはSpiceど素人の自分には何を言っているのかさっぱりです・・・。 どうかお分かりの方がいましたら教えて頂けないでしょうか。 関数と乗算の関係 何時も色々教えて頂き有難うございます。 タイトルにも書いたのですが、関数と乗算の関係を教えて頂きたいのですが? ある関数を利用した結果が、A1に出ていたとします。 このA1のセルを利用して他のセルの関数に利用できる時も有りますが? 出来ない時には、A1セルを形式を選択・値で貼り付け他のセルの関数に利用しています。 が、これもできない時には、他のセルに1を打ち・コピ-して・乗算で貼り付けて利用出来ると解かったのですが? 何も利用しないで、関数に利用出来るときもあれば、値で貼り付けて利用、乗算を貼り付けて利用? この違いは一体何なのでしょうか? 加算器を使った乗算器の回路図についての質問です。 加算器を使った乗算器の回路図についての質問です。 3bitと3bitの乗算で6bitの乗算器の回路図を書いています。 筆算の要領をそのまま、回路図にしてみたのですが、このような形でいいのでしょうか? ネットや手持ちの参考書を見ても乗算器の回路図は載っていなかったため、質問しました。 また、符号がつく乗算器と、符号なしの乗算器では、回路をどのように変化させればいいのでしょうか? よろしくお願いいたします。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ 学問・教育 人文・社会科学 語学 自然科学 数学・算数 応用科学(農工医) 学校 受験・進学 留学 その他(学問・教育) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
補足
すみません、不勉強でよくわかりません。 もう少し詳しく説明してもらってもいいですか。 それと質問に書き忘れてしまったので追加します。 求めるのは最小の乗算回数です。ただ個別に最適化する必要は ないです。すみません。