- 締切済み
19の95乗を計算したいのですが…
つまらない質問で恐縮です。 19の95乗を計算するとしたら、みなさんはどのようにやりますか?まさか19を95回かけ合わせるなどという膨大な時間をかけるなどということはないと思います。かと言って普通の安い計算機では桁数が足りなくて答えは表示されません。何か「上手い作戦」はないでしょうか?どうしても思いつきません。気になってしかたないのです。当方、高校程度の数学は理解できるつもりです。(20-1)の(100-5)乗を使う?とも思いましたがあまり意味もなさそうです。 どなたかご教授願えないでしょうか? ちなみに「パパのための暇つぶしの数学」ということで、結果を仕事に使うとかいうわけではありません。解き方を考える、いわば頭の体操みたいな問題なのですが…。よろしくお願いします。
- みんなの回答 (15)
- 専門家の回答
みんなの回答
- ymkwa_t
- ベストアンサー率0% (0/2)
先ほどの意見間違えてた様です ちなみに 37589973457545958193355601+279229487064768268609828830841497= 27922986296450284406941076439750 です P.S 19の29乗は 633441168344588221844500501021364917000 です (参考までにも)・・・・・・すべて手計算です(検算はパソコンで)
- gator
- ベストアンサー率33% (159/480)
#11です。すみません、不躾な質問をしてしまって。 でも、回答を見てまじめに取り組んだことは解っていただけると思います。 勿論思いつきの問題の中にも魅力的な問題は潜んでいますし、このご質問でも 私自身は最後まで行き着いていませんが、19^19でも結構エンジョイしましたし、 他の方のご回答も興味深いです。 なんとか、最後までたどり着ければ良いですね。 また考えてみます。 以上
- kony0
- ベストアンサー率36% (175/474)
頭の体操ということであれば。ご出題の問題ではないのですが。 大きな数の掛け算について、技巧的な方法があります。 たとえば8桁×8桁の掛け算をする場合に、普通に筆算で計算するなら、九九を64回行って、桁をずらしながら足し算を行う必要がありますが・・・ 8桁の数を4桁ずつに区切って、10^4*a+bと書きます.(たとえば12,345,678なら、a=1234, b=5678) (10^4*a+b)(10^4*c+d) =10^8*ac + 10^4*(ad+bc) + bd =10^8*ac - 10^4*{(a-b)(c-d)-(ac+bd)} + bd とすると、ac,bd,(a-b)(c-d)の3回の4桁×4桁の掛け算をすればよいことになります。 同様に4桁×4桁の計算は、3回の2桁×2桁の計算ですみ、 2桁×2桁の計算は、3回の九九の計算ですみます。 ということは、結局九九の計算は、3*3*3=27回ですんでしまいます。(あとは桁をずらして加減を行えばよい) 一般に、掛け算は、加減算と比べて計算負担が大きいですので、当該方法で計算量の削減が可能なわけです。不思議ですね。
お礼
なるほど!これは素晴らしい!初めて知りました。言われてみればその通りですよね。19の95乗はともかく、勉強になりました。頭も使いようですよね。ありがとうございました。
- gator
- ベストアンサー率33% (159/480)
これって目から鱗みたいな正解ってあるのでしょうか?それとも思いつきの問題? で、掛け算をたくさんやるのは確かに辛いから、少しでも作業を軽くしようと思いました。 ご質問にもあるように19^95=((20-1)^19)^5ということで、まず19^19だけ計算してみました。 (A+B)^nの係数は次のピラミッドの方法で足し算でできますよね。 1 1 1 2 1 1 3 3 1 1 4 6 4 1 (上の2つの数を足す) このようにすると、(20-1)^19は、 20^19-19*20^18+171*20^17-・・・・・・・・-171*20^2+19*20-1 というように20のべき乗の和になります。(一番大きい係数は92378*20^10) 20のべき乗はまあ簡単に計算できますよね。 20, 400, 8000, 160000, ・・・・・5.24288e24 これを上で求めた係数と掛け算して足し合わせます。 20のべき乗は、桁は大きくなりますが、最大でも7桁目以降はゼロなので掛け算 も少しは楽になっています。 これを計算することにより、 19^19=1978419655660313589123979 を得ました。(あってるかな?) で、これを5乗するのは、、、、、結局ここで白旗です。うーん、上のピラミッドを95段やる となると、やっぱり半端じゃないし、、、 以上
お礼
ご回答ありがとうございました。当方も二項定理的な発想が使える?と思って試しましたが挫折しました。さて、質問が中途半端だったかもしれません。この問題は当方が思いつきで考えたのではなく、しばらく前、電車待ちの時間に駅ビルの本屋で立ち読みした本の中にあったのです。そのときにしっかり解答を見ておけばよかったのですが…。素晴らしい解法があるのかもわかりませんし、どんな主旨でこの問題が出ていたかも思い出せません。ただ、数学(算数?)の面白い問題が色々と出ていたので漠然とながめていただけなので…。
- eatern27
- ベストアンサー率55% (635/1135)
19^95は122桁だから、手計算で簡単に求めようと言うのが無謀です。 あえてやるなら 19^95=19^96=(19^32)^3/19 だから、X=19^32=[{(19^2)^2}^2]^2]^2 とすると、 19^95=(X^3)/19 みたいなのはどうでしょう?
お礼
おっしゃる通り、無謀なことですよね(笑)。でも「96乗を考えてから19で割る」というのは素敵な考えだと思いました。どっちにしても面倒な計算なのですから、これだと少しでも手数が減っていいかもしれません。試してみます。ありがとうございました。
- DreaMMaster
- ベストアンサー率38% (63/164)
近似値でなく最後の桁まで計算するためには (1)数式処理プログラムを使う。 のが常道ではないかと思います。フリーの数式処理プログラムはMuPAD位しか知りませんが。MUPADについては参考URLにあげます。 (2)「パパのための暇つぶしの数学」ということであれば、 表計算ソフトで桁ごとに計算するのはいかがでしょう。 たとえば、一番左のセルが5桁、6桁以上が出ると一つ右のセルに繰り上がる。という風に作ればExcelで「最後の桁まで計算」できます。
お礼
なるほど。Excelでも計算できそうな感じですね。参考になりました。Excelもよく使いますが、ほとんど機能を使いこなしていません。ありがとうございました。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
> 具体的にどのような演算をすればよいのか、 じゃぁ、練習問題として7の5乗でも出してみましょうか。 1. まず、5を2進表記で101と書きます。 2. m=1とメモします。 3. 一番大きい桁は1なので、1^2*7=7が出てきます。m=7とメモします。 4. 次の桁は0なので、7^2=49ですね。m=49とメモします。 5. 最後の桁は1です。49^2*7ですから、え~と2401の…16807ですね。 これで完了。 やってることは単純でしょ。桁が増えると計算が面倒くさいだけ。
お礼
再度のご回答ありがとうございました。なるほど、わかりました。それこそ暇なときに「暇つぶし」に試してみます。ありがとうございました。
- 38endoh
- ベストアンサー率53% (264/494)
回答になっていなくて申し訳ないですが,あまり鮮やかな方法はない感じがします(自信なし)。 趣旨とは外れますが,桁数の膨大な数値計算をしたい場合,UBASIC というフリーのベーシックが便利ですので,紹介させていただきます。最大 2599 桁まで計算可能ですので,19 の累乗でしたら 2033 乗まで計算できます。ちなみに,19 の 95 乗は, 19^95 = 30310429509584222780856900250378474987891816698326495749294706687455340394943035990422804485156374905111232085580759135899 です。
お礼
ご回答ありがとうございました。とりあえず正解(?)をお教えいただき感謝いたしております。色々な方法を試してみて、この結果になるように努力します。ありがとうございました。
- grumpy_the_dwarf
- ベストアンサー率48% (1628/3337)
やはり「ひまつぶし」ですから、手計算が基本でしょう。パソコンの電卓で出しても 面白くありませんね。かといって95回繰り返すのはうんざりなので手数を減らす方法 ですが、べき乗p^nを求めるアルゴリズムで、以下のようなものがあります。 1: nを2進数表記になおす (95なら1011111) 2: 計算用変数mを1にセット 3: nの2進数表記を上の桁から見ていくループ 3-1: 1なら、m=m^2*p 3-2: 0なら、m=m^2 4: 最後の桁まで繰り返したら完了 これだと繰り返しはたったの7回、30桁や60桁のかけ算を筆算でヤル根性があれば、 できなくはないですね。私はイヤですが。
お礼
ご回答ありがとうございました。手数を減らす方法ということで早速試してみたいのですが、不勉強のためご回答の内容がよく理解できません。具体的にどのような演算をすればよいのか、ご教授いただければ嬉しいです。お暇なときで結構ですのでよろしくお願いします。
- 1
- 2
お礼
不躾などとはとんでもない!当方のつまらない疑問に貴重なお時間を割いていただき恐縮しているところです。感謝感謝です、本当に。でも、上手く表現できませんが、学校の数学のテストで高得点がとれるかどうかは別として、皆さんのご回答をみると数学ってのもまんざらではない、というか結構面白いものだなぁと思えるようになりました。もういい年ですので数学の試験を受けることは一生ないでしょうが、今自分が高校生だったら数学が好きになったかも…、なんて今さらながらに思っています。本当にありがとうございました。